TestCafe | 4 | VS Code Extensions
18:37
Пікірлер
@diraneserges6076
@diraneserges6076 5 сағат бұрын
Hi and very good video, but I'm faced with this problem: when I enter the command java -jar jenkins-cli.jar -s localhost:8080/ help in my terminal, I get this error: You must authenticate to access this Jenkins. I would also like to point out that the jenkins version I use is very different from yours.
@shankarparavastu8672
@shankarparavastu8672 8 сағат бұрын
excellent
@pliniado
@pliniado 9 сағат бұрын
Thank you very much! I was struggling with the webdriver, and I had been searching for a solution for more than one hour until I find this video.
@MyMediaVids
@MyMediaVids 9 сағат бұрын
maybe im missing something very obvious but running npm init or npm init -y is throwing errors at me - I can't get past it
@PoojaChopade-vr6vk
@PoojaChopade-vr6vk 15 сағат бұрын
Thank u sir
@RaghavPal
@RaghavPal 13 сағат бұрын
Most welcome Pooja
@sudhakarnujiveeti1800
@sudhakarnujiveeti1800 18 сағат бұрын
just i was facing same issue but when i got to see your video i feel very happy for solutions , Thanks allot
@RaghavPal
@RaghavPal 13 сағат бұрын
So happy to know this Sudhakar.. keep learning
@mounithota5156
@mounithota5156 19 сағат бұрын
I am unable to open UIAutomateViewer on my Mac. Could you please explain why this issue is occurring?
@RaghavPal
@RaghavPal 13 сағат бұрын
Mouni Are you trying to use UIAutomatorViewer or Appium Inspector. Please check and let me know with specific error and message you are facing
@Kidszone98119
@Kidszone98119 20 сағат бұрын
Hi raghav as per your instruction i have set up the scala in my PC, but when i click on Run Engine getting error below: Exception in thread "main" java.lang.ExceptionInInitializerError at Engine$.<clinit>(Engine.scala:7) at Engine.main(Engine.scala) Caused by: java.lang.NullPointerException: Cannot invoke "java.net.URL.toURI()" because the return value of "java.lang.ClassLoader.getResource(String)" is null at IDEPathHelper$.<clinit>(IDEPathHelper.scala:5) Can you please help me on this
@RaghavPal
@RaghavPal 13 сағат бұрын
Here are some suggestions: 1. Scala Directory Configuration: - The error message suggests that there's an issue with the `IDEPathHelper` class, which is related to Gatling's configuration. - Make sure that your Scala directory is correctly configured as a "Test Sources Root" in your IntelliJ project. Here's how to do it: - Right-click on the `scala` folder in your project structure. - Select "Mark Directory as" and then choose "Test Sources Root." - This ensures that Gatling recognizes the Scala code as part of the test sources. - After making this change, try running the Gatling engine again. 2. Java SDK Version: - Ensure that you're using a compatible Java SDK version. - Sometimes, mismatched Java versions can cause initialization errors. - Go to "File" > "Project Structure" > "Project Settings" > "Project" and check the "Project SDK." If it's set to an incompatible version (e.g., Java 9), change it to Java 8 (1.8). - Re-run the Gatling engine after updating the SDK version. 3. Gatling and Scala Versions: - Verify that you're using compatible versions of Gatling and Scala. - Make sure you have the correct Gatling version installed. - If you're using Maven, check your `pom.xml` for the Gatling plugin version. - Update your Gatling version if necessary. - Also, ensure that your Scala version aligns with Gatling's requirements. 4. Dependencies and Classpath: - Check if all necessary dependencies are correctly added to your project. - Ensure that Gatling's JAR files and Scala libraries are included in the classpath. - If you're using Maven, verify your `pom.xml` for the correct dependencies. 5. Clean and Rebuild: - Sometimes, cached files or outdated artifacts can cause issues. - Try cleaning your project (Build > Clean Project) and rebuilding it. - Then attempt to run the Gatling engine again. 6. Update Gatling and Plugins: - Make sure you're using the latest version of Gatling. - Update the Gatling Maven plugin (if applicable) to the latest version. - Check the Gatling documentation for any specific instructions related to your setup. Remember to follow these steps one by one, and hopefully, you'll be able to resolve the issue --
@user-es8pw8eq7t
@user-es8pw8eq7t 21 сағат бұрын
Hi Raghav, Excellent videos. i have already posted an issue, Appium exited before timeout. exitcode : null. i applied all ur suggestions, but the error still exists. i have given below the stack trace for ur reference. can u tell me the nodejs,wdio,appium latest compatible versions to work well? It will be very useful for me. Versions i am using : nodejs : 20.13.1 wdio : 8.36.1 appium : 2.5.4 I have increased the Timeout values as 80000. in the wdio.conf.js file. should i increase it again? i have set "aapium:noReset" : true and "appium:newCommandTimeout" : 60000 also. "@wdio/mocha-framework": "^8.36.1", "@wdio/spec-reporter": "^8.36.1", "appium": "^2.5.4", "appium-uiautomator2-driver": "^3.5.0" } } Stack Trace : Execution of 1 workers started at 2024-05-21T05:34:08.722Z 2024-05-21T05:34:08.910Z INFO @wdio/cli:launcher: Run onPrepare hook 2024-05-21T05:34:09.011Z INFO @wdio/appium-service: Will spawn Appium process: cmd /c node C:\Users\dell\Desktop\Webdriverio ode_modules\appium\index.js --base-path / 2024-05-21T05:34:23.707Z INFO @wdio/appium-service: Appium started with ID: 2176 2024-05-21T05:34:23.719Z INFO @wdio/cli:launcher: Run onWorkerStart hook 2024-05-21T05:34:23.725Z INFO @wdio/local-runner: Start worker 0-0 with arg: [0-0] 2024-05-21T05:34:33.297Z INFO @wdio/local-runner: Run worker command: run 2024-05-21T05:34:38.438Z INFO @wdio/cli: [0-0] SKIPPED in Android - file:///C:/Users/dell/Desktop/WebdriverIO/test/specs/Himenusclick.js 2024-05-21T05:34:38.440Z INFO @wdio/cli:launcher: Run onWorkerEnd hook 2024-05-21T05:34:38.442Z INFO @wdio/cli:launcher: Run onComplete hook 2024-05-21T05:34:38.444Z INFO @wdio/appium-service: Appium (pid: 2176) killed Spec Files: 0 passed, 1 skipped, 1 total (100% completed) in 00:00:29 2024-05-21T05:34:38.497Z INFO @wdio/local-runner: Shutting down spawned worker 2024-05-21T05:34:38.505Z ERROR @wdio/appium-service: Appium exited before timeout (exit code: null) 2024-05-21T05:34:38.759Z INFO @wdio/local-runner: Waiting for 0 to shut down gracefully 2024-05-21T05:34:38.763Z INFO @wdio/local-runner: shutting down
@RaghavPal
@RaghavPal 13 сағат бұрын
It seems you're encountering an issue with Appium exiting before the timeout. Let's address this step by step. 1. Node.js Version Compatibility: - Appium has specific requirements for Node.js versions. As of now, Appium supports Node.js versions in the SemVer range `^14.17.0 || ^16.13.0 || >=18.0.0`². - You mentioned using Node.js version 20.13.1, which is not within the supported range. I recommend updating your Node.js to a compatible version. You can use Node.js v14.20.0, v16.x, or v18.x. - To update Node.js, you can use a version manager like `nvm` (Node Version Manager) or manually download and install the compatible version from the official Node.js website. 2. WebdriverIO and Appium Versions: - Ensure that you are using compatible versions of WebdriverIO and Appium. - WebdriverIO version 8.36.1 should work well with Appium 2.5.4. - You can verify the compatibility by checking the documentation for each package. - If you need to update WebdriverIO, you can do so using `npm i -g webdriverio@latest`. 3. Timeout Configuration: - Increasing the timeout values in your `wdio.conf.js` file is a good approach, but it's essential to find the right balance. - Consider the following: - `appium:newCommandTimeout`: This sets the maximum time (in milliseconds) that Appium will wait for a new command from the client. You've set it to 60000 (60 seconds), which seems reasonable. - If your tests involve long operations, you might need to adjust this value further. - Also, check if any specific test case is causing the timeout issue. - Monitor your test runs and adjust the timeout values as needed. 4. Appium Server Installation: - Make sure you have installed the Appium server globally using `npm i -g appium`. - Remember that the core Appium server alone cannot automate anything; you need to install drivers for your target platforms (e.g., Android, iOS). 5. Drivers and Clients: - Check if you have the necessary drivers installed for your target platform. - Appium supports app automation across various platforms, including iOS, Android, macOS, and Windows. - Install the relevant drivers using the Appium Extension CLI commands (e.g., `appium driver install <driver-name>`). 6. Additional Tips: - Verify that your test scripts are correctly configured to connect to the Appium server. - Double-check your test files (e.g., `Himenusclick.js`) to ensure there are no issues causing the skipped tests. - Review any other custom configurations in your `wdio.conf.js` file. Remember to update your Node.js version, verify compatibility, and fine-tune your timeout settings --
@gowdayashaswi5065
@gowdayashaswi5065 21 сағат бұрын
Hello Raghav This series is really helpful Is this enough crack the rest assured interview experienced candidate?
@RaghavPal
@RaghavPal 13 сағат бұрын
Yes Yashaswi, if you follow the complete lecture with hands-on and understand the concept, it is enough
@chandanachinni9717
@chandanachinni9717 Күн бұрын
Hi Raghav, My test opens a new tab after login page with dynamic value in the url, and I need to input text into the text fields on the page that opened in new tab. how to handle this?
@RaghavPal
@RaghavPal 13 сағат бұрын
Chandana When dealing with a new tab that opens dynamically during your test, you can follow these steps to input text into the text fields: 1. Open the New Tab: - Before interacting with the new tab, ensure that you've opened it. You can use Playwright's `context.newPage()` method to create a new page within the same browser context. - For example: ```javascript const newPage = await context.newPage(); ``` 2. Navigate to the Dynamic URL: - If the URL of the new tab is dynamic, extract it from the login process or any other source. - Use `newPage.goto(url)` to navigate to the desired URL: ```javascript await newPage.goto('example.com/dynamic-page'); ``` 3. Locate and Input Text: - Identify the text fields (input elements) on the new tab. You can use various locators such as `page.locator()`, `page.$()`, or `page.$$()` to find the elements. - Use the `fill()` method to input text into the fields. For example: ```javascript await newPage.locator('#username').fill('your-username'); await newPage.locator('#password').fill('your-password'); ``` 4. Submit the Form (if applicable): - If the text fields are part of a form, submit the form after filling in the required data: ```javascript await newPage.locator('form').submit(); ``` 5. Handle Any Other Interactions: - Depending on your use case, you might need to perform additional actions (e.g., clicking buttons, selecting options, etc.) on the new tab. Remember to adjust the selectors (`#username`, `#password`, etc.) based on the actual HTML structure of the page you're testing --
@LavanyaU-zg4jq
@LavanyaU-zg4jq Күн бұрын
Thank you for doing these videos. I have a question - when I run the test if it fails it is generating report and in the report is shows in which step it failed. But it is not saying what is the issue (like the element not found or cannot e.t.c). Is there a way where I can see what is the error and change the script accordingly?
@RaghavPal
@RaghavPal 13 сағат бұрын
Chinni When Playwright generates a test report, it provides information about the failing step, but it doesn't always include detailed error messages by default. However, you can enhance your test scripts to capture more context and specific error details. Here are some strategies to achieve that: 1. Custom Error Messages: - In your test script, add custom error messages using `console.error()` or similar methods. For example: ```javascript try { await page.click('#myButton'); } catch (error) { console.error('Error clicking the button:', error.message); } ``` - By adding descriptive messages, you'll know exactly which step failed and why. 2. Capture Screenshots or Videos: - When a test step fails, take a screenshot or record a video to capture the state of the page at that moment. Playwright provides methods for this: ```javascript await page.screenshot({ path: 'failure-screenshot.png' }); // or await page.video().stop(); ``` - Include these screenshots or videos in your test report. They can help you diagnose issues visually. 3. Verbose Logging: - Enable verbose logging during test execution. This can provide additional details about what Playwright is doing behind the scenes. - Set the `DEBUG` environment variable to `pw:api` before running your tests: ``` DEBUG=pw:api node your_test_script.js ``` - Check the console output for detailed logs 4. Handle Errors Explicitly: - Instead of relying solely on Playwright's default error handling, catch specific errors and handle them explicitly. For example: ```javascript try { await page.click('#myButton'); } catch (error) { if (error.name === 'TimeoutError') { console.error('Button click timed out.'); } else { console.error('Unexpected error:', error.message); } } ``` 5. Inspect Network Requests: - Use Playwright's network interception capabilities to inspect network requests and responses. This can help identify issues related to API calls or missing resources. - For example: ```javascript page.route('/*', (route) => { console.log('Request intercepted:', route.request().url()); route.continue(); }); ``` 6. Debugging Mode: - Run your tests in debugging mode (`headless: false`) to interactively inspect the page when a failure occurs. - Add breakpoints using `page.pause()` to pause execution and explore the page state. Remember that Playwright provides flexibility, so you can tailor your error handling and reporting based on your specific needs. By combining custom messages, screenshots, and detailed logging, you'll have a clearer understanding of what went wrong during test execution --
@userk4175
@userk4175 Күн бұрын
Hi, is this tutorial still current in 2024?
@RaghavPal
@RaghavPal 13 сағат бұрын
Most parts are still valid, you will need to change the library versions
@userk4175
@userk4175 8 сағат бұрын
@@RaghavPal , thank you very much!
@ten2soft-wg9xh
@ten2soft-wg9xh Күн бұрын
where can i get latest videos for security or penetration testing ?
@RaghavPal
@RaghavPal 13 сағат бұрын
I will plan on this, but can take some time. Meanwhile can let me know the specific topics you need
@ten2soft-wg9xh
@ten2soft-wg9xh 11 сағат бұрын
CSFR and XSS of security testing
@GulshanMishra-lp6le
@GulshanMishra-lp6le Күн бұрын
Thank you so much, your english is excellent, i am not too much strong in english but your each words are clearly audiable and understandable, and be honest, i will learn two things from you 1st groovy and second is technical communication skill. Once again thanks
@RaghavPal
@RaghavPal 13 сағат бұрын
You're very welcome Gulshan
@cesalio45g
@cesalio45g Күн бұрын
I spent most of my QA career in e2e testing for the web, just started learning Appium and mobile testing, this is an easy to follow tutorial and I want to thank you for taking the time to explain the fundamentals of how Appium works!
@RaghavPal
@RaghavPal 13 сағат бұрын
Glad it was helpful
@diraneserges6076
@diraneserges6076 Күн бұрын
Hi, very good Video on Jenkins, for the improvement of the videos, just suggest to show also how the commands run on the different operating systems. For example when I enter chmod +x *.sh in the cmd terminal. it gives me an error, probably because I'm using windows. so what is the command to use on windows?
@RaghavPal
@RaghavPal 13 сағат бұрын
Sure, thanks for suggesting
@DeeplaxmiKulkarni-ce7wm
@DeeplaxmiKulkarni-ce7wm Күн бұрын
Getting error: apiRequestcontext.get: self-signed certificate in certificate chain. Please help to resolve this
@RaghavPal
@RaghavPal 13 сағат бұрын
Deeplaxmi The "self-signed certificate in certificate chain" error typically occurs when Playwright encounters an untrusted certificate authority (CA) during the API request. Let's explore some solutions to resolve this issue: 1. Trust Custom Root Certificates: - If your company intercepts traffic and uses a custom CA certificate, you'll need to trust it on the OS level. This allows Node.js (which Playwright relies on) to recognize the certificate. - Set the `NODE_EXTRA_CA_CERTS` environment variable to point to your custom root certificate file. For example, if your certificate is located at `C:\certs oot.crt`, run the following command before running your Playwright tests: ``` $Env:NODE_EXTRA_CA_CERTS="C:\certs oot.crt" node your_test_script.js ``` - Alternatively, you can configure Playwright to use the custom certificate directly in each request. For instance: ```javascript const opts = { method: 'GET', hostname: 'localhost', port: 443, // Adjust the port as needed path: '/', ca: fs.readFileSync('path/to/cacert.pem'), // Path to your custom CA certificate }; https.request(opts, (response) => { // Handle the response }).end(); ``` 2. Disable SSL Verification (Not Recommended for Production): - In development environments, you can temporarily disable SSL verification. However, this is not recommended for production. - Set the `NODE_TLS_REJECT_UNAUTHORIZED` environment variable to `0`: ``` export NODE_TLS_REJECT_UNAUTHORIZED=0 node your_test_script.js ``` - Alternatively, configure npm to use a specific certificate file: ``` npm config set cafile path/to/cacert.pem ``` 3. Use a Proper SSL Certificate: - For production environments, consider obtaining a proper SSL certificate from a trusted source (e.g., Let's Encrypt). This ensures secure communication without encountering self-signed certificate issues. Remember that while disabling SSL verification might be convenient during development, it poses security risks in production. Always use trusted certificates for secure communication For more information, you can refer to the Playwright documentation on [browsers and proxies](playwright.dev/docs/browsers) --
@diraneserges6076
@diraneserges6076 Күн бұрын
please need help , get this error : java-jar' is not recognized as an internal or external command or external command, an executable program or a command file.
@RaghavPal
@RaghavPal 13 сағат бұрын
The error message "java 'jar' is not recognized as an internal or external command" typically occurs when the Java executable is not in your system's PATH. Here are some steps to resolve this issue: 1. Check JDK Installation: First, ensure that you have Java Development Kit (JDK) installed on your system. You can verify this by running the following commands in your command prompt or terminal: ``` java -version javac -version ``` If these commands work, it means JDK is installed and accessible. 2. Add JDK Bin Directory to PATH: The `jar` command is part of the JDK tools. To fix the issue, add the JDK's `bin` directory to your system's PATH environment variable. Here's how: - Locate the JDK installation directory (e.g., `C:\Program Files\Java\jdk1.8.0_40\bin`). - Add this directory to your PATH. You can do this by: - Opening the System Properties (right-click on "This PC" or "My Computer," select "Properties," then click "Advanced system settings"). - Clicking on the "Environment Variables" button. - In the "System variables" section, find the "Path" variable, and click "Edit." - Adding a new entry with the path to the JDK's `bin` directory (e.g., `C:\Program Files\Java\jdk1.8.0_40\bin`). - Clicking "OK" to save the changes. 3. Restart the Command Prompt or Terminal: After modifying the PATH, close and reopen your command prompt or terminal. This ensures that the changes take effect. 4. Test the 'java -jar' Command: Now try running the `java -jar` command again. Remember that this command requires specifying the path to a JAR file you want to execute. For example: ``` java -jar path/to/your.jar ``` 5. Verify the JAR File: Make sure the JAR file you're trying to run exists and is accessible. Double-check the path and filename. 6. Check for Typos: Ensure there are no typos in your command. It should be `java -jar`, not just `jar`. If you follow these steps, you should be able to resolve the issue --
@diraneserges6076
@diraneserges6076 7 сағат бұрын
@@RaghavPal Many Thanks , I used the first Option und will work
@StanislavCertik
@StanislavCertik Күн бұрын
Love your tutorials, they are great start for begginers!
@RaghavPal
@RaghavPal 13 сағат бұрын
Thanks a lot Stanislav
@sachtheky21
@sachtheky21 Күн бұрын
Hi Raghav, I'm facing this error. After installing Jenkins on Linux, I can not start. It appears like this in the terminal: [ec2-user@ip-172-31-7-25 ~]$ sudo service jenkins start Redirecting to /bin/systemctl start jenkins.service Job for jenkins.service failed because a fatal signal was delivered to the control process. See "systemctl status jenkins.service" and "journalctl -xe" for details.
@RaghavPal
@RaghavPal 13 сағат бұрын
Truyen The error message indicates that a fatal signal was delivered to the control process. Let's troubleshoot this step by step: 1. Check Jenkins Configuration: - Ensure that your Jenkins configuration is correct. Verify the paths and Java settings in the `jenkins.xml` file. - Make sure the necessary directories and files (such as the Jenkins home directory) have the correct permissions. 2. Permissions: - Check the permissions of the `/var/lib/jenkins` directory. Incorrect permissions can cause startup failures. - Also, verify the permissions of parent directories. Sometimes issues arise from permissions higher up in the directory tree. 3. Security Profiles: - If you've enabled any Red Hat security profiles, reconsider that choice. Security profiles might affect Jenkins startup. - Review any security settings or profiles that could interfere with Jenkins execution. 4. Systemctl Status and Journalctl: - Run the following commands to get more details about the failure: ``` systemctl status jenkins.service journalctl -xe ``` - These commands will provide additional information about why Jenkins failed to start. 5. Update Jenkins: - Ensure you're using a recent version of Jenkins. If not, consider updating to the latest stable release. - Sometimes issues are resolved in newer versions. 6. Log Files: - Check Jenkins log files (`/var/log/jenkins/jenkins.log`) for any specific error messages. - Look for clues related to the fatal signal or any other issues. Remember to follow these steps systematically, and you'll likely identify the root cause of the problem --
@jorge4932
@jorge4932 Күн бұрын
Your page and courses are brutal !! Congratulations Raghav!! Thank you very much to share with us all of your knowledge!!
@RaghavPal
@RaghavPal 13 сағат бұрын
Glad you like them Jorge
@vishalsingh28
@vishalsingh28 Күн бұрын
my score 17
@RaghavPal
@RaghavPal 14 сағат бұрын
Great Vishal.. keep learning
@punittomar4426
@punittomar4426 Күн бұрын
I'm looking for job , I've experience in automation testing and node.js backend development
@RaghavPal
@RaghavPal 13 сағат бұрын
Punit That's great! Having experience in both automation testing and Node.js backend development makes you a valuable candidate. Let's explore some steps to enhance your job search: 1. Update Your Resume: - Ensure your resume highlights your relevant skills, experience, and achievements. - Mention your proficiency in automation testing tools (such as Selenium, Cypress, or JUnit) and your experience with Node.js. 2. Job Portals and Networking: - Post your resume on job portals like LinkedIn, Indeed, Glassdoor, and Naukri. - Connect with professionals in your field on LinkedIn and attend networking events. 3. Customize Applications: - Tailor your applications to each job description. Highlight specific skills that match the job requirements. - Emphasize your experience in automation testing and Node.js development. 4. GitHub and Personal Projects: - Showcase your skills by contributing to open-source projects on GitHub. - Create personal projects related to automation testing or Node.js and share them on your portfolio. 5. Certifications: - Consider obtaining relevant certifications. For automation testing, certifications like ISTQB or Selenium WebDriver can add value. - Node.js certifications (such as Node.js Certified Developer) can also boost your profile. 6. Prepare for Interviews: - Be ready to discuss your experience, problem-solving abilities, and technical skills. - Practice coding challenges related to Node.js and testing frameworks. 7. Research Companies: - Look for companies that align with your interests and values. - Research their tech stack and see if they use Node.js or have a strong focus on automation testing. Remember, persistence and continuous learning are key. Good luck with your job search --
@shubhamjagtap8354
@shubhamjagtap8354 Күн бұрын
Hello Sir, Hello everyone.. After downloading and installing 'cucumber' from Eclipse Marketplace, i am getting below error.. Can someone please help me? May 20, 2024 6:16:12 PM cucumber.api.cli.Main run WARNING: You are using deprecated Main class. Please use io.cucumber.core.cli.Main May 20, 2024 6:16:13 PM io.cucumber.core.resource.ClasspathScanner safelyLoadClass WARNING: Failed to load class 'com.linecorp.armeria.internal.shaded.bouncycastle.jcajce.provider.asymmetric.edec.BC15EdDSAPublicKey'. By default Cucumber scans the entire classpath for step definitions. You can restrict this by configuring the glue path.
@RaghavPal
@RaghavPal 14 сағат бұрын
Shubham Let's address this issue step by step: 1. Deprecated Main Class Warning: - The warning message indicates that you're using a deprecated Main class. Instead of `cucumber.api.cli.Main`, you should use `io.cucumber.core.cli.Main`. - To resolve this, update your configuration to use the correct Main class. 2. Failed to Load Class: - The second warning suggests that a class named `'com.linecorp.armeria.internal.shaded.bouncycastle.jcajce.provider.asymmetric.edec.BC15EdDSAPublicKey'` failed to load. - This issue might be unrelated to the deprecated Main class warning. It could be related to your project's dependencies or classpath. - Ensure that your project's dependencies are correctly configured and that the required classes are available on the classpath. 3. Configuring the Glue Path: - The last part of the warning mentions configuring the glue path. In Cucumber, the glue path specifies where to find step definitions. - Make sure your step definitions are in the correct package or directory. - You can configure the glue path in your Cucumber runner class using the `@CucumberOptions` annotation. For example: ```java @CucumberOptions(plugin = "json:target/cucumber-report.json", features = "classpath:features", glue = "your.step.definitions.package") public class CustomCucumberRunner extends AbstractTestNGCucumberTests { // ... } ``` Replace `"your.step.definitions.package"` with the actual package where your step definitions reside. 4. Dependency Versions: - Ensure that your project's dependencies (including Cucumber) are up to date. You mentioned using Cucumber version `4.5.0`, but newer versions might be available. - Consider updating your Cucumber dependencies to the latest stable version. 5. IntelliJ IDEA Configuration: - If you're using IntelliJ IDEA, make sure your run configuration points to the correct Main class (`io.cucumber.core.cli.Main`). - You can adjust this in the Run/Debug Configurations settings. Remember to check your project setup, dependencies, and configurations. If you follow these steps, you should be able to resolve the warnings and run your Cucumber tests successfully --
@shubhamjagtap8354
@shubhamjagtap8354 9 сағат бұрын
@@RaghavPal Thank you soo much sir. I am going to try this now.
@richardakinsehinde6280
@richardakinsehinde6280 Күн бұрын
Hi Raghav, thank you for your excellent tutorials. My tests passed but I got 4 warnings "Using "data" is deprecated. Use "pm.iterationData" instead." and "Using "tests" is deprecated. Use "pm.test()" instead." on the Console when I ran the 'Refer data in test scripts' part. See below: tests["verify email"] = responseBody.has(data.email) tests["verify email"] = responseBody.has(data["email"]) When I used the suggestions, the verify email part was not tested. Note: I'm using Postman v11.1.0
@RaghavPal
@RaghavPal 14 сағат бұрын
Richard Let's address these warnings: 1. Using "data" is deprecated. Use "pm.iterationData" instead: - In Postman, the `"data"` object was previously used to store variables. However, it has been deprecated in favor of `"pm.iterationData"` for better clarity and consistency. - To fix this warning, replace any occurrences of `"data"` with `"pm.iterationData"` in your test scripts. 2. Using "tests" is deprecated. Use "pm.test()" instead: - Similarly, the `"tests"` object has been deprecated in favor of `"pm.test()"`. - Update your test scripts to use `"pm.test()"` instead of `"tests"`. Here's how you can modify your test scripts: ```javascript // Replace this: tests["verify email"] = responseBody.has(data.email); tests["verify email"] = responseBody.has(data["email"]); // With this: pm.test("verify email", function () { pm.expect(responseBody.has(pm.iterationData.get("email"))).to.be.true; }); ``` Make sure to adjust the variable names (`"email"`) according to your specific use case. By making these changes, you'll address the deprecation warnings and ensure compatibility with the latest Postman version --
@richardakinsehinde6280
@richardakinsehinde6280 12 сағат бұрын
@@RaghavPal Hi Raghav, thank you so much.
@KomKom110
@KomKom110 Күн бұрын
Hi sir, My GitLab don't show "Set up a specific Runner manually", so i can't get the runner authentication token. What should i do ?
@RaghavPal
@RaghavPal Күн бұрын
If the "Set up a specific Runner manually" option is not visible in your GitLab project, it could be due to a few reasons. Here are some steps you can take: 1. Check your permissions: You must have Owner permissions for the project to set up a specific runner 2. Navigate to the correct location: Go to your project's Settings > CI/CD and expand the Runners section³. The token should be available there. 3. Update GitLab: If you're using an older version of GitLab, it might be worth updating to the latest version. Some features might not be available or might have different names in older versions. 4. Contact Support: If you're still having trouble, consider asking a question in the GitLab support forum Remember, once you have the URL and token, you can register the runner
@aartiriat7590
@aartiriat7590 2 күн бұрын
Hi @raghav : I am not able to do npm install and npm start for the trello app. it gives error: npm start npm ERR! Missing script: "start" npm ERR! npm ERR! Did you mean one of these? npm ERR! npm star # Mark your favorite packages npm ERR! npm stars # View packages marked as favorites npm ERR! npm ERR! To see a list of scripts, run: npm ERR! npm run
@RaghavPal
@RaghavPal 2 күн бұрын
Aarti The error message you're seeing is because there's no `start` script defined in your `package.json` file. The `npm start` command runs the `start` script defined in your `package.json`. If no such script is defined, you'll see the `Missing script: "start"` error. Here's what you can do: 1. Open your `package.json` file and look for a `scripts` section. It should look something like this: ```json "scripts": { "test": "echo \"Error: no test specified\" && exit 1" } ``` 2. If there's no `start` script, you'll need to add one. The `start` script should specify the command to start your application. For a Node.js app, it might look like this: ```json "scripts": { "start": "node app.js", "test": "echo \"Error: no test specified\" && exit 1" } ``` In this example, `app.js` is the main file of your Node.js application. Replace `app.js` with the main file of your application. 3. Save your `package.json` file and run `npm start` again. It should now start your application. ---
@aartiriat7590
@aartiriat7590 2 күн бұрын
Hi @raghav, when i am trying to run the pretest at 28:00 using rimraf i am getting below error: > [email protected] pretest > rimraf -r ./cypress/reports/*.json unknown option: -r run `rimraf --help` for usage information Can you please help?
@RaghavPal
@RaghavPal 2 күн бұрын
Aarti The error message you're seeing is because `rimraf` does not recognize the `-r` option. The `rimraf` command is used to delete files and directories, and it does not require the `-r` option like the `rm -r` command in Unix-based systems. You should modify your script in the `package.json` file to remove the `-r` option. Here's how your script should look: ```json "scripts": { "pretest": "rimraf ./cypress/reports/*.json" } ``` Now, when you run your pretest script, it should correctly delete all `.json` files in the `./cypress/reports/` directory without any errors. If the directory itself needs to be deleted, you can specify the directory without the `/*.json`: ```json "scripts": { "pretest": "rimraf ./cypress/reports" } ``` This will delete the `reports` directory itself. Please try --
@aartiriat7590
@aartiriat7590 Күн бұрын
@raghav: thanks a ton
@mariatretiakova9545
@mariatretiakova9545 2 күн бұрын
Hi Raghav, thanks for your tutorials, they're so helpful. Could you please demo how to use the recording in IntelliJ?
@RaghavPal
@RaghavPal 2 күн бұрын
Sure Maria Here's a step-by-step guide: 1. Start IntelliJ IDEA and open the project you want to record. 2. Go to the "Help" menu in the toolbar at the top. 3. In the drop-down list, select "Start Screen Recording...". This will open a dialog box for screen recording settings. 4. In the dialog box, you can choose the recording options such as the frame rate, whether to capture mouse clicks, whether to highlight the mouse cursor, and the save location for the video file. 5. After setting your preferences, click "Start Recording". 6. Now, all your actions in IntelliJ IDEA will be recorded. You can perform the tasks you want to record. 7. Once you're done, go back to the "Help" menu and select "Stop Screen Recording". Your recording will be saved to the location you specified. 8. You can now review the video file for any necessary edits or share it as needed. Please note that this feature might not be available in all versions of IntelliJ IDEA. If you don't see the option, you might need to update your software or use a third-party screen recording tool. Also, recording might increase the CPU usage and slow down the performance of the software. --
@PramodKolekar-zr5kt
@PramodKolekar-zr5kt 2 күн бұрын
Crystal clear sir thank you
@RaghavPal
@RaghavPal 2 күн бұрын
Most welcome Pramod
@reviewkiemtiencucde825
@reviewkiemtiencucde825 2 күн бұрын
Hello, how to read excel to selenium python
@RaghavPal
@RaghavPal 2 күн бұрын
Sure, here's a basic example of how you can read data from an Excel file using Selenium WebDriver in Python: ```python import openpyxl # Load the workbook with its path bk = openpyxl.load_workbook("C:\\Path\\To\\Your\\ExcelFile.xlsx") # Identify the active worksheet s = bk.active # Identify the cell c = s.cell(row=3, column=1) # Retrieve the cell value and print print(c.value) ``` In this code: - `openpyxl.load_workbook("C:\\Path\\To\\Your\\ExcelFile.xlsx")` is used to load the workbook from the specified path. - `bk.active` is used to get the active worksheet. - `s.cell(row=3, column=1)` is used to get the cell at row 3 and column 1. - `print(c.value)` is used to print the value of the cell⁴. Please replace `"C:\\Path\\To\\Your\\ExcelFile.xlsx"` with the path to your Excel file, and adjust the row and column numbers as per your needs. Also, ensure that the `openpyxl` library is installed in your Python environment. If it's not, you can install it using pip: `pip install openpyxl`. This is a simple example and real-world scenarios might require more complex operations such as reading multiple cells, handling different data types, etc --
@diraneserges6076
@diraneserges6076 2 күн бұрын
Many Thanks!!!!!! You are the Best
@RaghavPal
@RaghavPal Күн бұрын
Most welcome
@tahminanower4194
@tahminanower4194 2 күн бұрын
WARN AppiumDoctor ✖ ANDROID_HOME is set to '/Users/tahminanower/Desktop/Projects/android/cmdline-tools' but this is NOT a valid path! please help me with this I followed exactly what you did
@tahminanower4194
@tahminanower4194 2 күн бұрын
info AppiumDoctor ✔ ANDROID_HOME is set to: /Users/tahminanower/Library/Android/sdk it works when I this below : export ANDROID_HOME=/Users/tahminanower/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/platform-tools
@RaghavPal
@RaghavPal 2 күн бұрын
Great..
@amarnatha1614
@amarnatha1614 2 күн бұрын
Thank you somuch sir
@RaghavPal
@RaghavPal 2 күн бұрын
Most welcome Amarnatha
@jainanup402
@jainanup402 2 күн бұрын
Which is latest tool? I hear tools with low code, no code any guidance
@RaghavPal
@RaghavPal 2 күн бұрын
Anup Let me know if you are looking for a specific feature, functionality or scenario, In general, can check these: Katalon Studio Tricentis Tosca Testim Parasoft SOAtest Ranorex Functionize
@TechNetNepal
@TechNetNepal 3 күн бұрын
thanks a lot
@RaghavPal
@RaghavPal 2 күн бұрын
You are most welcome
@heroiheroi1812
@heroiheroi1812 3 күн бұрын
Hey bro! Thanks for your awesome video but unfortunately I'm am stuck in an error which is happening every time I try to start mobile recorder the error says: "Unable to create a new remote session. Please check the server log for more details. original error: Could not find a driver for automationName 'uiautomator2' and platformName 'android'. Have you installed a driver that supports those capabilities? Run 'appium driver list --installed' to see. (Lower-level error: Could not find installed driver to support given caps)" I can't able to solve this problem kindly help me regarding this problem.
@RaghavPal
@RaghavPal 2 күн бұрын
This error typically occurs when the Appium server can't create a new session because it can't find a driver that supports the automationName 'uiautomator2' and platformName 'android'. Here are a few steps you can try to resolve this issue: 1. Upgrade Appium: Make sure you have the latest version of Appium installed. You can upgrade Appium using npm (Node Package Manager) with the command `npm install -g appium` 2. Check Installed Drivers: Run the command `appium driver list --installed` as suggested in the error message. This will list all the drivers that are currently installed. Make sure that a driver for 'uiautomator2' and 'android' is installed 3. Appium Server Restart: Try restarting the Appium server. Sometimes, a simple restart can resolve the issue 4. Session Override: If you're starting Appium as a node process, you can give the option '--session-override true'. This would avoid this problem 5. Katalon Studio and Appium Version Compatibility: Ensure that the versions of Katalon Studio and Appium you're using are compatible. Some users have reported that using Katalon version 6.1.x and Appium version 1.8.0 works 6. SDK Tools: Download the SDK tools from the Android developer site and put the downloaded file to `C/user/.katalon/tools/sdk-tools` Remember to replace the paths and versions with your actual paths and versions. If the problem persists, please check the server logs for more details as suggested in the error message. The logs might contain more information about what's causing the issue. I hope this helps ---
@LOFI_WORLD_SONG
@LOFI_WORLD_SONG 3 күн бұрын
Please work on KZbin videos editing quality...your content is really best but video quality then makes audience see less time
@RaghavPal
@RaghavPal 2 күн бұрын
Thanks for the feedback.. I will work on it
@anandganesh3948
@anandganesh3948 3 күн бұрын
Thanks for the resolution.
@RaghavPal
@RaghavPal 2 күн бұрын
You're welcome Anand
@ChatGPTtest-tp3vi
@ChatGPTtest-tp3vi 3 күн бұрын
Hi Raghav, I could see the assertion errors in your video at the middle of the execution and I am getting the same error. Its because of the use of the variables from the data files. Can you please help here by explaining how can we make use of the data files here ? Is there any way by which we can share the data files along with the collection URL so that there are no errors at all? What is the command for the same? Thanks a lot. Binita
@RaghavPal
@RaghavPal 2 күн бұрын
Binita When running Postman from the command line, you can manage variables using Newman, which is Postman's command-line collection runner. Here's how you can do it: 1. Environment Variables: Export your env in a file. You can pass an environment file using the `-e` or `--environment` flag. For example: ``` newman run collection.json -e environment.json ``` In the `environment.json` file, you can define your variables and their values. 2. Data Variables: If your variables are coming from data files, you can use the `-d` or `--iteration-data` flag to specify a data file. For example: ``` newman run collection.json -d data.json ``` In the `data.json` file, you can define your variables and their values. 3. Global Variables: You can also set global variables using the `-g` or `--globals` flag. 4. Setting Variables in Scripts: Inside your Pre-request and Test scripts in Postman, you can set environment and global variables using the `pm.environment.set` and `pm.globals.set` functions³. For example: ``` pm.environment.set("variable_key", "variable_value"); ``` Remember to replace `collection.json`, `environment.json`, and `data.json` with your actual file paths. Also, replace `variable_key` and `variable_value` with your actual variable names and values. I hope this helps
@ChatGPTtest-tp3vi
@ChatGPTtest-tp3vi 3 сағат бұрын
@@RaghavPal Thank you for the solution Dada. But will this work if I am running the collection URL remotely instead of the running it using newman in command line?
@DJChan-dn9tb
@DJChan-dn9tb 3 күн бұрын
I am trying to find the best opensource automation tool to automate an application that the main functionality is in an html canvas. I need to select things from the canvas and drag and drop them. Coordinates are not preferred as they can change so looking for a tool that can locate an image within an image and then perform mouse operations. Any help is appreciated.
@RaghavPal
@RaghavPal 2 күн бұрын
Sure, I can suggest a few tools that might be helpful for automating operations on an HTML canvas: 1. Cypress: Cypress is a powerful end-to-end testing framework that can interact with the DOM, making it a good choice for testing applications with an HTML canvas. There's also a plugin called `cypress-plugin-snapshots` that supports visual regression testing, which could be useful for your use case 2. Selenium: Selenium is another popular open-source automation tool that supports multiple browsers and operating systems. It allows you to write automated tests for web applications and has wide community support. 3. Telerik Test Studio: Although not open-source, Telerik Test Studio has added support for many of the HTML5 tags like Canvas, Audio, and Video tags. All the HTML tags are accessible using code and are under the `ArtOfTest.WebAii.HtmlControls` namespace. For the `HtmlCanvas`, you actually have access to the 2D Context of the control Remember, each tool has its own strengths and weaknesses, and the best tool often depends on your specific needs and context. It's a good idea to try out a few different tools to see which one works best for your application ---
@ujjalroy8920
@ujjalroy8920 3 күн бұрын
Hi Raghav great work. Are you uploading a demo on using real android device how to automate a test case in the appium inspector ?
@RaghavPal
@RaghavPal 3 күн бұрын
Yes Ujjal
@ujjalroy8920
@ujjalroy8920 3 күн бұрын
@@RaghavPalthanks a lot.
@Artisticanand
@Artisticanand 3 күн бұрын
Hi sir i am new here , i am a manual tester who need to change to automation. Did i need to start from this cypress master class or cypres beginner class , or i need to first study the javascript ? please reply
@RaghavPal
@RaghavPal 3 күн бұрын
Anand you can go through the Cypress Masterclass first. Let me know if you face any issues
@Artisticanand
@Artisticanand 23 сағат бұрын
​@@RaghavPal Thankyou sir, i will let you know.
@prajwalkore375
@prajwalkore375 4 күн бұрын
Soo good, cut to the chase
@RaghavPal
@RaghavPal 3 күн бұрын
Thanks Prajwal
@purvidholakia3570
@purvidholakia3570 4 күн бұрын
Hi Raghav, I have developed Automation framework with Selenium python,pytest and was working fine but due to some reason had to transfer my project to new laptop and now when running script through command line its giving an error. Earlier python version 3.12 and now installed version is 3.12.3================================================================================ 1 error in 0.21s ================================================================================= PS C:\Users\PurviDholakia\python_selenium_project\CROWD_TestAutomationFramework\testCases> pytest test_FileStatusPage.py =============================================================================== test session starts =============================================================================== platform win32 -- Python 3.12.3, pytest-8.2.0, pluggy-1.5.0 rootdir: C:\Users\PD\python_selenium_project\TestAutomationFramework\testCases plugins: allure-pytest-2.13.5 collected 7 items / 1 error ===================================================================================== ERRORS ====================================================================================== _____________________________________________________________________ ERROR collecting test_FileStatusPage.py _____________________________________________________________________ C:\Program Files\Python312\Lib\unittest\case.py:511: in __hash__ return hash((type(self), self._testMethodName)) E AttributeError: 'FileStatusPage' object has no attribute '_testMethodName' ============================================================================= short test summary info ============================================================================= ERROR test_FileStatusPage.py::FileStatusPage - AttributeError: 'FileStatusPage' object has no attribute '_testMethodName' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ================================================================================ 1 error in 0.22s ================================================================================= Your help will be highly appreciated.
@RaghavPal
@RaghavPal 3 күн бұрын
Purvi Let's troubleshoot this issue step by step: 1. Check Indentation: - Ensure that the indentation in your code is correct. Incorrect indentation can lead to unexpected behavior. - Verify that the `sample()` method is properly indented within the `myThread` class 2. Python Version Compatibility: - You mentioned that you upgraded from Python 3.12 to 3.12.3. While this is a minor version update, it's essential to ensure compatibility. - Python 3.12.3 is not a valid version; the latest stable release is Python 3.10.3. Make sure you're using a valid Python version. - Check if any changes in Python versions caused this issue 3. Review the Code: - Double-check the code where you create instances of `myThread` and call the `sample()` method. - Verify that the `sample()` method is indeed defined within the `myThread` class 4. Test Case Naming: - The error message mentions `_testMethodName`. This is related to unit testing. - If you're using a testing framework (such as `unittest`), ensure that your test case classes follow the correct naming convention. - Test case classes should inherit from `unittest.TestCase`, and test methods should start with `test_` 5. Update Python: - If you're using an unsupported Python version (e.g., 3.12), consider downgrading to a stable version (e.g., 3.10.3). - Use a version that is widely supported and tested 6. Check Dependencies: - If your project relies on external libraries or packages, verify that they are compatible with your Python version. - Update any dependencies if necessary 7. Run the Code: - Run your script with the corrected indentation and ensure that the `sample()` method is called correctly. - Use a valid Python version (e.g., 3.10.3). Remember to thoroughly review your code, especially the class definitions and method calls ---
@reviewkiemtiencucde825
@reviewkiemtiencucde825 4 күн бұрын
When my laptop runs the emulator command to get to the virtual screen, it's very slow and doesn't seem to be able to load. Is there any way to make it run faster?
@RaghavPal
@RaghavPal 4 күн бұрын
Android emulators can sometimes be sluggish, but there are several ways to improve their performance. Here are some tips to speed up your Android emulator: 1. Enable Quick Boot: Android Studio provides a feature called Quick Boot that saves the emulator state. When you enable this option, the emulator starts up quickly on subsequent boots. To enable Quick Boot: - Click on the emulator's edit button in Android Studio. - Go to "Show Advanced Settings." - Enable the Quick Boot option 2. Increase Heap Size: You can significantly speed up the emulator by adjusting the heap size allocated to it. Follow these steps: - Open the AVD Manager. - Select your device. - Click on the "Details" button. - Look for the heap size (usually set to 24 or 48). - Increase the heap size to a larger value (e.g., 512 or 1024) 3. Use GPU Emulation: The GPU (graphics processing unit) is faster than the CPU. Enabling GPU emulation can improve the emulator's performance. To enable GPU emulation: - Open the AVD Manager. - Edit your AVD. - Enable GPU acceleration in the settings 4. Allocate Sufficient Resources: If you're running the emulator on a virtual machine, ensure that the VM has enough resources (CPU, RAM, and disk space). Virtual machines often have limited resources compared to physical machines, which can impact performance 5. Consider Alternative Emulators: - Genymotion: Genymotion is an alternative emulator that is much faster than the default Android emulator. It's straightforward to install and provides better performance - BlueStacks: BlueStacks is another emulator that you can use for testing. It's not specifically for development, but it's fast and reliable Remember that the emulator experience can vary based on your system specifications. If possible, test your app on an actual device as well to ensure accurate performance.
@vishnuganesh6855
@vishnuganesh6855 4 күн бұрын
Javac version not showing need support
@RaghavPal
@RaghavPal 4 күн бұрын
Vishnu This error typically occurs when the Java compiler (`javac`) is not properly configured in your system's environment variables Here are the steps to resolve this issue: 1. Check if Java is Installed: ``` java -version ``` 2. Verify the JDK Installation Path: - Locate the JDK installation directory on your system. By default, it's usually under `C:\Program Files\Java`. - Look for a folder named `jdk<version>` (e.g., `jdk1.8.0_301`). - Inside the `bin` subfolder of the JDK installation directory, you'll find the `javac.exe` file. 3. Set the PATH Environment Variable: - The `PATH` environment variable tells the operating system where to find executable files. - Add the path to the `bin` directory of your JDK installation to the `PATH` variable. - To do this temporarily (for the current session), open a Command Prompt and run: ``` set PATH=%PATH%;C:\Program Files\Java\jdk1.8.0_301\bin ``` Replace `C:\Program Files\Java\jdk1.8.0_301` with the actual path to your JDK installation. - To set the `PATH` permanently: - Press the "Windows" key and type "environment variable." - Click on "Edit the system environment variables." - In the "System Properties" window, click the "Environment Variables" button. - Under "System variables," find the `PATH` variable and click "Edit." - Add the JDK `bin` directory path (e.g., `C:\Program Files\Java\jdk1.8.0_301\bin`) at the end of the existing value, separated by a semicolon (`;`). - Click "OK" to save the changes. 4. Restart the Command Prompt: - Close any open Command Prompt windows and reopen a new one. - Run the following command to verify if `javac` is recognized: ``` javac -version ``` 5. Check for Typos: - Ensure there are no typos in the command you're typing (e.g., `javac` instead of `javac.exe`). 6. Verify the PATH: - To check which paths are added to the environment variable, run: ``` echo %PATH% ``` - Verify that the JDK `bin` directory is included in the list. If you follow these steps, you should be able to resolve the issue, and `javac` should be recognized as a valid command