I feel myself lucky because of finding your channel, when I search on youtube. I m planning to watch all your videos. Thank you for your clear explanation and your effort.
@RaghavPal3 жыл бұрын
Most welcome
@buinathtine4 жыл бұрын
For who is stuck after run with test one, you should update a little bit because we are finding element of selenium webdriver instead android app: AppiumDriver driver; => Update to: WebDriver driver; driver = new AppiumDriver(url, caps); => Update to: driver = new RemoteWebDriver(url, caps);
@RaghavPal4 жыл бұрын
Thanks for this information Tiến
@FayyazeEbrahim4 жыл бұрын
Thanks Bro! You saved my day
@appansingharoy4914 жыл бұрын
Thanks much for the info !!
@bngat4 жыл бұрын
Thanks Tien... one more way it worked for me was use of direct xpath instead of name locator... "findElement(By.xpath("//input[@name='q']"))" it ran successfully..
@ankushtagalpallewar66522 жыл бұрын
What if we want to run with ? Because with iOS accessibility id RemoteWebDriver is not working.
@seaglass14494 жыл бұрын
Thank you! Your tutorials are the best of the best! I had no prior experience and i was able to install and run scrips from scratch in three days following your tutorial , Your install instructions has 100% accuracy. Here now trying some scripts.
@RaghavPal4 жыл бұрын
You're welcome. Best wishes
@foodSpot1627 Жыл бұрын
@@RaghavPalhey raghav can we test the font size and its family for instagram app? Using appium inspector?
@vimalaangelus95033 жыл бұрын
Thank you Raghav .Your approach to teaching is systematic ,clear and awesome .I have learnt slenium using your videos
@RaghavPal3 жыл бұрын
So glad to hear that Trellis
@hansitadash74973 жыл бұрын
This is the best video i have seen till date. Very useful. The steps are very clear and explained so well. Cannot thank you much.
@RaghavPal3 жыл бұрын
You are most welcome Hansita. humbled
@akbarchandani53654 жыл бұрын
Below is the solution worked for me for exception/error "No Chromedriver found" Start appium server through command line using below command: appium --allow-insecure chromedriver_autodownload The above command will install the latest driver as per the chrome browser version on running the above test as expected.
@RaghavPal4 жыл бұрын
Thanks for the inforamation Akbar
@FayyazeEbrahim4 жыл бұрын
Thanks Bro!
@amalkrishnats83524 жыл бұрын
Thank you so much !
@SenthilKumardevaraj4 жыл бұрын
Thanks Akbar !
@priyankapatil74844 жыл бұрын
Where we have to put this Command??
@selamgebretinsaye264 жыл бұрын
the best, simple, very straight forward, easy to understand tutorial! Thank you Sir!
@RaghavPal4 жыл бұрын
Most welcome Seliti
@SurendraSingh-tp2vz5 жыл бұрын
Thanks Raghav for explaining it so well in super easy steps..Kudos!
@RaghavPal5 жыл бұрын
You're welcome Surendra
@chandrachalla34663 жыл бұрын
This is pretty awesome video. Excellent work Raghav on explaining details- great work. Thank you !!!!
@RaghavPal3 жыл бұрын
most welcome Chandra
@HimadriSengupta4 жыл бұрын
Thank you Raghav ! I am a Subscriber and will request for more Videos on Appium Frame work specially on Pages of POM.
@RaghavPal4 жыл бұрын
I will do Himadri
@friendonymous2 жыл бұрын
It is at 43:10 that you realize that you as a viewer didn't notice the issue. A simple demonstration of "no amount of coding knowledge can match the power of the mighty round brackets!!" #JustKidding
@RaghavPal2 жыл бұрын
ha ha
@lakshmiy41033 жыл бұрын
Amazing explanation, made the concept so easy and clear - framework from scratch. Thanks a lot for making this video. Keep making the videos and help passionate learners to reach their goals. Waiting for the Android and IOS framework videos.
@RaghavPal3 жыл бұрын
Glad it helped Lakshmi
@jackvicky21732 жыл бұрын
Amazing tutorial very well explained!!! Thank you so much for the video!!
@RaghavPal2 жыл бұрын
Most welcome Jack
@i2ms8991 Жыл бұрын
Hi I need a little clarifucation from you, when you are ceating a web automation framework using selenium java using maven using page object model, we have a page layer and a test layer. In page layer we do have page classes in pages package and a BaseTest in a base package. Why didn't you use the same approach in designing this mobile automation framework? Can't we create a Base class here and inside that can't we create those desired capabilities and launching the driver method? Then its about calling them in the test classes noh ? Because in page object model you can't use driver apis in test layer, if you do that it happens to be a violation of page object model as per the Martin the inventor of POM. So I am asking again why can't we use the same approach in mobile devices? Is that because they don't have specific pages hence we cant create separate page classes? If that so is what should be the way to create a framework then ?
@RaghavPal Жыл бұрын
Isuru Yes, you can use the same approach in designing a mobile automation framework using Appium. The Page Object Model (POM) is a design pattern that can be used to decouple the test code from the implementation details of the application under test. It does this by creating separate classes for each page in the application. These classes contain methods for interacting with the elements on the page. The Base class in the POM pattern is a generic class that contains common methods for all pages, such as the method for launching the driver. This class can be used in both web and mobile automation frameworks. In the case of mobile automation, the Base class can also contain methods for configuring the device, such as setting the device name and the device orientation. The test classes in the POM pattern should only call the methods in the Page classes. This ensures that the test code is decoupled from the implementation details of the application under test. Here is an example of how the POM pattern can be used in a mobile automation framework: ``` public class BaseTest { protected AppiumDriver driver; public BaseTest() { this.driver = new AppiumDriver(); } public void launchApp() { driver.launchApp(); } public void closeApp() { driver.closeApp(); } } public class HomePage extends Page { public void clickLoginButton() { driver.findElementById("loginButton").click(); } } public class LoginPage extends Page { public void enterUsername(String username) { driver.findElementById("username").sendKeys(username); } public void enterPassword(String password) { driver.findElementById("password").sendKeys(password); } public void clickLoginButton() { driver.findElementById("loginButton").click(); } } public class Test1 { @Test public void testLogin() { BaseTest baseTest = new BaseTest(); baseTest.launchApp(); HomePage homePage = new HomePage(baseTest.driver); homePage.clickLoginButton(); LoginPage loginPage = new LoginPage(baseTest.driver); loginPage.enterUsername("username"); loginPage.enterPassword("password"); loginPage.clickLoginButton(); } } ``` In this example, the BaseTest class contains the methods for launching the driver and closing the app. The HomePage class and the LoginPage class contain methods for interacting with the elements on the HomePage and the LoginPage, respectively. The Test1 class tests the login functionality of the application. This is just one example of how the POM pattern can be used in a mobile automation framework. There are many other ways to implement the POM pattern. The best way to implement the POM pattern will depend on the specific application under test.
@i2ms8991 Жыл бұрын
@@RaghavPal Thank you very much for your detailed explanation, I think your page classes should extend base class right, hope that it's by a typo that you have written it as public class HomePage extends Page It should be public class HomePage extends BaseTest Am I correct ?
@RaghavPal Жыл бұрын
go with it
@sindhoorsmita3 жыл бұрын
Sir your explanation is very clear as well as while presenting your screen is very clear .Thanks Sir.
@RaghavPal3 жыл бұрын
You're most welcome Smita
@tanishasharma93894 жыл бұрын
It couldn't be any easier... Loved it.. Thanks Raghav ::)
@RaghavPal4 жыл бұрын
Glad to hear that Tanisha
@saikishorebolla78584 жыл бұрын
Thank you Raghav pal, your explanation gives us confidence In our selves to perform exceptionally well at interview thanks a lot Raghav
@RaghavPal4 жыл бұрын
You're welcome Sai
@manelzerah2 жыл бұрын
I just would like to say thank you for these videos, you are helping me so much.
@RaghavPal2 жыл бұрын
You are so welcome Emanuel
@giridharravi58272 жыл бұрын
Your explanation looks like god-level bro. Seriously !. Before your tutorial I don't know how to use appium. Now I hope I'll get a good job in QA. Thanks for your precious video bro. Thank you.
@RaghavPal2 жыл бұрын
So happy and humbled to see your message Giridhar
@mohanbadri74964 жыл бұрын
Excellent Tutorial Raghav - Great Work !! Thank you
@RaghavPal4 жыл бұрын
You're welcome Mohan
@divyab2894 жыл бұрын
Hi Raghav, I have been searching alot for some good tutorials on Automation using Appium and Maven and I finally came across your videos - Very well laid out and explained. Thank you so much for helping us get a good grasp of the concepts. I have a few doubts: 1. I used pom to define my dependencies- appium java client, selenium and tetng jars and built the maven application. Now when trying to go to AppiumDriver or AndroidDriver class, I get an error mentioning that the JAR file has no source attachment I couldnt find the path too to mention. How do I go about resolving that as I am interested in exploring the classes in some jar files. 2. When setting the below capability (basically instantiating the ChromeDriver), I am getting the below errror- No Chromedriver found that can automate Chrome '58.0.3029'
@RaghavPal4 жыл бұрын
Glad to know it helped Divya. 1. You can provide the location of your jar. Check here - stackoverflow.com/questions/15180411/attach-the-source-in-eclipse-of-a-jar 2. You will need to get chromedrive exe ver as per the ver of chrome browser on your system
@mizoto65504 жыл бұрын
getting an error, Google isn't helping. java.lang.UnsupportedClassVersionError: Preview features are not enabled for tests/BaseClass (class file version 58.65535). Try running with '--enable-preview' Any ideas?
@RaghavPal4 жыл бұрын
Hi Mizoto, what is your java version. I was checking this online and may be this is with java 9 You may try to use a diff ver and check, In case you want to know how to install or update java, can find in my playlist on java under programming section here - automationstepbystep.com/
@mizoto65504 жыл бұрын
@@RaghavPalMy Java version is 14
@mizoto65504 жыл бұрын
@@RaghavPal I found it out. Right click project > properties > Java Compiler> set compliance level to 1.8. Then it worked
@RaghavPal4 жыл бұрын
Glad to know this
@jagadambika15903 жыл бұрын
for cannot call non w3c standard : use caps.setCapability("appium:chromeOptions", ImmutableMap.of("w3c", false)); in capabilities
@RaghavPal3 жыл бұрын
Hi Jagadambika, thanks for adding
@williamsilva67473 жыл бұрын
Excelente trabalho. Obrigado pela dedicação do seu tempo.
@RaghavPal3 жыл бұрын
Muito bem-vindo
@vinaykumarreddy58094 жыл бұрын
The best tutorial on framework i have gone through.. Thank raghav. keep going on
@RaghavPal4 жыл бұрын
You're welcome Vinay
@ankushtagalpallewar66522 жыл бұрын
Thanks Raghav, this is Amazing session. Can someone explain what is in driver initialiation step?
@RaghavPal2 жыл бұрын
Hi Ankush, this is a class in Appium library, can check more here - discuss.appium.io/t/difference-between-webelement-mobileelement-androidelement-and-ioselement/5254
@KhhyatiRaviPoetry9 ай бұрын
Amazing, amazing, amazing.. I am short of words
@RaghavPal9 ай бұрын
Thanks a lot Khhyati.. humbled
@mohammedrahman60465 жыл бұрын
Raghav you have explained it very well. Thanks for the good work.
@RaghavPal5 жыл бұрын
You're welcome Rahman
@lucastavares1374 жыл бұрын
Very very good tutorial. Awesome work! Thank you :)
@RaghavPal4 жыл бұрын
You're welcome Lucas
@mahmoodwali58004 жыл бұрын
very useful videos and thank you for all your efforts, i have problem finding TestNG part one. thanks again
@RaghavPal4 жыл бұрын
Hi Mahmood, you can check the complete playlist here - automationstepbystep.com/
@novanotama4 жыл бұрын
wow, you create Appium step by step too, thank you Raghav
@RaghavPal4 жыл бұрын
Hi Novanto, sure, you can find all courses here - automationstepbystep.com/
@a.c.karunaratne90894 жыл бұрын
Hi Raghav, your video tutorials are very helpful and Thank you very much !!! Could you please do a tutorial on how to do automation testing on react native/native mobile apps? Is it differ from Android/iOS automation testing ?
@RaghavPal4 жыл бұрын
Noted! I wil try
@a.c.karunaratne90894 жыл бұрын
Thank you!
@delwarhossain83392 жыл бұрын
Hi Raghab, this is one of the best example. I tried to follow every single steps but when I run 'tests.java', it is keep failing and here is the error message I am getting >> java.lang.NullPointerException: Cannot invoke "io.appium.java_client.AppiumDriver.get(String)" because "this.driver" is null at tests.tests.testone(tests.java:11) for 'testone'. Since this is the first time I am trying to learn, cannot figure out where the issue is. Appreciate for this detail video.
@RaghavPal2 жыл бұрын
Hi Delwar, this can help stackoverflow.com/questions/64964011/cannot-invoke-io-appium-java-client-android-androiddriver-manage-because-th
@samsonedward29924 жыл бұрын
superb Explanation and get knowledge in Appium, Keep going on thanks for your effort
@RaghavPal4 жыл бұрын
You're welcome Samson
@ajivinister3 жыл бұрын
On my first run, got few errors...like "No chromedriver found for the version 87.0.4280" then "apksigner.jar not found" and few more... finally the following code helped to resolve the issues.. I downloaded latest chrome driver to local drive. cap.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2"); cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android"); cap.setCapability(MobileCapabilityType.PLATFORM_VERSION, "9.0"); cap.setCapability(MobileCapabilityType.UDID, "J5AAGF00C850D5D"); cap.setCapability(MobileCapabilityType.DEVICE_NAME, "AZEN"); cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "60"); cap.setCapability(MobileCapabilityType.BROWSER_NAME, "Chrome"); cap.setCapability(MobileCapabilityType.BROWSER_VERSION, "87.0.4280.66"); cap.setCapability("chromedriverExecutable", "C:\\Users\\ajivi\\Desktop\\sdk-root\\chromedriver_87\\chromedriver.exe");
@RaghavPal3 жыл бұрын
Thanks for sharing
@RaushanKumar-hv6ej3 жыл бұрын
easy to understand..the way u explains
@RaghavPal3 жыл бұрын
Thanks Raushan
@bhushanmate72202 жыл бұрын
Thank you so much for this amazing tutorial ! very well explained in vedio and fully all things covered for beginners. Please, make vedio on diff types of exceptions / errors / challenges are getting while creating framework as well more suggestions on Appium automation framework.
@RaghavPal2 жыл бұрын
Hi Bhushan, sure, I will do
@amandeepsidhu22404 жыл бұрын
great description, I have solved my problem...
@RaghavPal4 жыл бұрын
Happy to know Amandeep
@lakshminarayanravichandran70964 жыл бұрын
When i created a maven project getting error in pom.xml file when clicked on that error shown like this not able to check this Multiple annotations found at this line: - CoreException: Could not get the value for parameter compilerId for plugin execution default-compile: PluginResolutionException: Plugin org.apache.maven.plugins:maven-compiler-plugin:3.1 or one of its dependencies could not be resolved: Failed to collect dependencies at org.apache.maven.plugins:maven-compiler-plugin:jar:3.1 -> org.apache.maven:maven-toolchain:jar:1.0 -> org.apache.maven:maven-core:jar:2.0.6 -> org.apache.maven:maven-project:jar:2.0.6 -> org.apache.maven:maven-artifact-manager:jar:2.0.6: ArtifactDescriptorException: Failed to read artifact descriptor for org.apache.maven:maven-artifact-manager:jar:2.0.6: ArtifactResolutionException: Failure to transfer org.apache.maven:maven-artifact-manager:pom:2.0.6 from repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven:maven-artifact-manager:pom:2.0.6 from/to central ( repo.maven.apache.org/maven2): The operation was cancelled. - CoreException: Could not get the value for parameter compilerId for plugin execution default-testCompile: PluginResolutionException: Plugin org.apache.maven.plugins:maven-compiler-plugin:3.1 or one of its dependencies could not be resolved: The following artifacts could not be resolved: org.apache.maven:maven-plugin-api:jar:2.0.9, org.apache.maven:maven-artifact:jar:2.0.9, org.codehaus.plexus:plexus-utils:jar:1.5.1, org.apache.maven:maven- core:jar:2.0.9, org.apache.maven:maven-settings:jar:2.0.9, org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.9, org.apache.maven:maven- profile:jar:2.0.9, org.apache.maven:maven-model:jar:2.0.9, org.apache.maven:maven-repository-metadata:jar:2.0.9, org.apache.maven:maven-error- diagnostics:jar:2.0.9, org.apache.maven:maven-project:jar:2.0.9, org.apache.maven:maven-plugin-registry:jar:2.0.9, org.apache.maven:maven-plugin- descriptor:jar:2.0.9, org.apache.maven:maven-artifact-manager:jar:2.0.9, org.apache.maven:maven-monitor:jar:2.0.9, org.apache.maven:maven-toolchain:jar:1.0, org.apache.maven.shared:maven-shared-utils:jar:0.1, org.apache.maven.shared:maven-shared-incremental:jar:1.1, org.codehaus.plexus:plexus-compiler- api:jar:2.2, org.codehaus.plexus:plexus-compiler-manager:jar:2.2, org.codehaus.plexus:plexus-compiler-javac:jar:2.2, org.codehaus.plexus:plexus-container- default:jar:1.5.5: Failure to transfer org.apache.maven:maven-plugin-api:jar:2.0.9 from repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven:maven-plugin-api:jar:2.0.9 from/to central (repo.maven.apache.org/maven2): The operation was cancelled. Is there any solution for this Eclipse Version - 2020-06 (4.16.0)
@RaghavPal4 жыл бұрын
Hi Lakshmi, try to update maven project Rt click > Maven > Update > Force Update stackoverflow.com/questions/39926064/coreexception-could-not-get-the-value-for-parameter-compilerid-for-plugin-execu/41416449
@zeck92653 жыл бұрын
Thank you so much I have learned so much from this alone, this best explanation so far. One request for you If you could share this project with us. That would be a great help.
@zeck92653 жыл бұрын
Thanks could you please share it with us.
@RaghavPal3 жыл бұрын
Pls check this - github.com/Raghav-Pal/AppiumDemoProject
@juanbaquero86283 жыл бұрын
Remember to set the TestNG dependency in the pom file to a version equal or lower than the TestNG Eclipse plugin to avoid a failure when you run the test.
@RaghavPal3 жыл бұрын
thanks for adding Juan
@juanbaquero86283 жыл бұрын
@@RaghavPal Thank you Raghav, I've learend a lot from you videos, I really appreaciate your effort!
@jiejunlin97714 жыл бұрын
Very very cool and interesting .Thank you very much!
@RaghavPal4 жыл бұрын
You're welcome jiejun
@corejavaforeveryone88584 жыл бұрын
Please make video on touchAction ,swipe also
@RaghavPal4 жыл бұрын
I wil plan
@surbhisambare31424 жыл бұрын
Hi Raghav Sir.. I need your help to understand where should I use interface and Abstract class while working on automation framework..?? Actually even when I know the definitions of Abstract class and interface while working alone on my automation framework I am not getting how can I bring Abstract class and interface in framework.. I follow Page object model.. pls help
@RaghavPal4 жыл бұрын
I will try to create a session Surbhi, for now pls try online help
@surbhisambare31424 жыл бұрын
Thanks alot..
@malaysianyen90373 жыл бұрын
Hello, why wouldn't you create a testNG class directly. Instead of importing it?. Sry for the dumb question. Thanks
@RaghavPal3 жыл бұрын
Hi, after you add TestNG dependency, to use its classes and functions, you will have to import it in your class
@mvenkatmusical5164Ай бұрын
I have followed every step but MobileCapabilityType is not resolved. Stuck here. Any help please?
@RaghavPalАй бұрын
Venkat MobileCapabilityType is a part of the Appium Java client, so let's go through some possible reasons why it's not being resolved: Missing dependency: Make sure you have the Appium Java client dependency in your project's pom.xml file (if you're using Maven) or your build.gradle file (if you're using Gradle). For Maven: io.appium java-client 7.3.0 For Gradle: dependencies { implementation 'io.appium:java-client:7.3.0' } Incorrect import: Double-check that you have imported the correct package in your Java file: import io.appium.java_client.MobileCapabilityType; Typo or capitalization issue: Verify that you haven't made a typo or capitalization mistake when using MobileCapabilityType. Java is case-sensitive, so make sure it's exactly as written above. Outdated Appium version: If you're using an older version of Appium, MobileCapabilityType might not be available. Try updating to the latest version of the Appium Java client. Project setup issues: Sometimes, project setup issues can cause problems with resolving dependencies. Try cleaning and rebuilding your project, or even creating a new project from scratch to rule out any project-specific issues. IDE issues: If you're using an IDE like Eclipse or IntelliJ, try restarting the IDE or invalidating the cache and restarting. This can sometimes resolve issues with dependency resolution. -
@UCIUbaf3b8lN7Q5GA8qO Жыл бұрын
Hi Raghav, I wanted to ask you something: In order to perform automation with appium and Java & Selenium for Apple devices you will need an Mac machine? Is it possible to perform this under Windows machine? Thanks for your great work.
@RaghavPal Жыл бұрын
Hi Gabriel, In order to perform automation testing with Appium and Java & Selenium for Apple devices, you need a Mac machine. This is because Appium relies on Apple's XCUITest automation framework, which is only available on macOS. Therefore, if you want to automate testing on Apple devices, you will need a Mac machine to run Appium. While it is possible to write the code for Appium using Java & Selenium on a Windows machine, you will not be able to execute the tests on an Apple device without a Mac machine. However, there are a few workarounds that allow you to perform testing on a real iOS device without a Mac machine. These include: Using a cloud-based testing service that provides access to real iOS devices for testing. Examples of such services include Sauce Labs, BrowserStack, and Firebase Test Lab. Using a third-party tool such as CrossBrowserTesting's Appium Studio, which provides an emulation of XCUITest on a Windows machine. Using a virtual machine running macOS on your Windows machine. This requires you to have a licensed copy of macOS and access to a virtual machine software such as VMware or VirtualBox. However, these workarounds may have limitations in terms of performance, reliability, and device compatibility, so it is recommended to use a physical Mac machine for Appium testing on Apple devices.
@UCIUbaf3b8lN7Q5GA8qO Жыл бұрын
@@RaghavPal Thank you Raghav, I really appreciate your long explaining and devotion to teach!
@ИльяЛанин-и4к2 жыл бұрын
I'm sorry, but I didn't understand. In maven dependencies, you only listed appium java CLIENT. This will download the libraries to the .m2 folder. Where did the installed appium server come from in the system?
@RaghavPal2 жыл бұрын
That was done separately using npm install appium, pls check the earlier videos of this playlist, Can refer from here - automationstepbystep.com/
@ИльяЛанин-и4к2 жыл бұрын
@@RaghavPal Thanks
@antirebello33063 жыл бұрын
Hi Raghav, first of all Thank u so much for the wonderful lectures, Please help me as while executing I am getting ""TestNG by default disables loading DTD from unsecured URLs. If you need to explicitly load the DTD from a http url, please do so by using the JVM argument [-Dtestng.dtd.http=true]" error.. please help
@RaghavPal3 жыл бұрын
Hi Anti, check this stackoverflow.com/questions/57299606/testng-by-default-disables-loading-dtd-from-unsecure-urls
@tejaswib.v80592 жыл бұрын
Thanks Raghav for these videos.. Very informative.. Will java 17 supports appium? Can I install java 17 to work with appium?
@RaghavPal2 жыл бұрын
Hi Tejaswi, I could not find any official documentation for Java 17 for appium, you can try with latest JDK and check,
@GurudattaPraharaj4 жыл бұрын
It could have been better if you have mentioned which version of mobile chrome browser is by default supported by appium. in my case, i have chrome version 81 on my mobile, which was not supported by appium by default. so i have to add bellow capability to work: cap.setCapability("chromedriverExecutable", "chromedriver.exe file path");
@RaghavPal4 жыл бұрын
I will take note of this Gurudatta
@kapilrana23615 жыл бұрын
Hi Raghav, Thank for such a nice explanation. One query - What is the use of src/main/java and src/main/resources. Please help as I need to create a framework in my project for POC purpose. Thanks in Adance.
@RaghavPal5 жыл бұрын
Hi Kapil, these are diff folders or packages. You can put your main dev code in src/main/java, your test-related scripts under src/test/java and other resources like config files, drivers, property files etc in resources
@AGOF_Vlogs4 жыл бұрын
Great explanation nice and clean. Thanks
@RaghavPal4 жыл бұрын
You're welcome Athar
@ivanosadchenko28354 жыл бұрын
your english is really good
@RaghavPal4 жыл бұрын
I am improving.
@aanyaaryancoolgamers20133 жыл бұрын
Hey Raghav.. Very nice sessions.. they help a lot in our work .. thank you so much. I have a question.. can we automate the apps in the mobile which are inside citrix workspace?
@RaghavPal3 жыл бұрын
It can be tricky Shilpa, Try some online examples on this
@aanyaaryancoolgamers20133 жыл бұрын
@@RaghavPal ok.. tq so much for the reply...it is actually knox workspace.. will browse the web.. but it is possible right?
@RaghavPal3 жыл бұрын
Yes, most probably, you may have to setup within the machine where app is running
@aanyaaryancoolgamers20133 жыл бұрын
@@RaghavPal ohh ok.. will try it out.. tq..
@ajivinister3 жыл бұрын
Hi Raghav, Even after creating the sample test I am not getting the "Run as TestNG" option. It is still showing as 'Run Configuration'... what can be the cause? I followed exactly the same code.
@RaghavPal3 жыл бұрын
Hi, for that you need to have TestNG plugin added in Eclipse and should have restarted Eclipse. Can check this kzbin.info/www/bejne/r6q4qpxuqJllmqc
@ajivinister3 жыл бұрын
@@RaghavPal Thank you. Yes, I have done the same and it is working.
@78HARSHAL Жыл бұрын
driver = new AppiumDriver(url, caps); The constructor AppiumDriver(DocFlavor.URL, DesiredCapabilities) is undefined
@RaghavPal Жыл бұрын
Hi Harshal, this can help: stackoverflow.com/questions/56401779/not-found-constructor-androiddriver-with-appium-in-eclipse
@pradeeprajendran1011 Жыл бұрын
I have some doubts as mentioned below. 1. I have added dependency which you are added in this video, but I'm unable find MobileCapabilityType java file. 2. I couldnot able to declare thar appium driver variable. Unable to proceed after this
@RaghavPal Жыл бұрын
Hi Pradeep, will need to check the logs and error details, Can try some online examples
@ИльяЛанин-и4к2 жыл бұрын
Where did the appium server come from? Did it come along with the appium java-client dependency? Or did you install it separately?
@RaghavPal2 жыл бұрын
along with appium
@vinaygodena60954 жыл бұрын
Thank you for the tutorial Raghav. May I know if you have the same tutorial for Native app. I mean setting up the TestNG framework with android or ios native apps.
@RaghavPal4 жыл бұрын
Hi Vinay, yet to do on native apps
@testinginsights-muktasharma3 жыл бұрын
Automation Step by Step - Raghav Pal please Raghav can you make more videos on Appium .
@feeding.animals97103 жыл бұрын
Hi Sir, Is it possible to automate Scanning QR code using Appium? If it is possible please make a video on it. Need your help on this. Thanks
@RaghavPal3 жыл бұрын
Hi Rakesh, I have not tried, See this medium.com/assertqualityassurance/read-a-qr-code-content-with-appium-and-zxing-cddc94221dc8#:~:text=The%20Solution,read%20the%20QR%20Code%20content.
@feeding.animals97103 жыл бұрын
@@RaghavPal Hi Sir in my case need to scan the QR code by using the camera. Is it possible? Could you please give me the suggestions on it? Waiting for your !!
@RaghavPal3 жыл бұрын
Hi Rakesh, did the link not help? I will also have to check online for this
@Krishna-Vamsi Жыл бұрын
Hi sir ,Thanks for doing this Amazing content . sir is this Framework enough to build and automate my live mobile applications ??
@RaghavPal Жыл бұрын
Yes Krishna, this will help you create the framework, and then you can build and add on top of it as per your needs and application requirments
@hassantahir28514 жыл бұрын
Thanks for reply i have viewed your complete playlist but still i am feeling its not enough.Can you please upload a project tutorial so that a lot of queries would be resolve
@RaghavPal4 жыл бұрын
Sure Hassan, I will plan to make a more detailed project video. You can also check existing here - automationstepbystep.com/
@kunalshinde55745 жыл бұрын
Thank you Raghav , Really nice video , I always waiting for your next video .
@RaghavPal5 жыл бұрын
You're welcome Kunal. Thanks for watching
@kunalshinde55745 жыл бұрын
@@RaghavPal i want to learn how to provide data from Csv file .
@RaghavPal5 жыл бұрын
I will try to add a video, meanwhile you can check this video that will help you kzbin.info/www/bejne/eYeWhIKlp6usmqc kzbin.info/www/bejne/ZmOkf6xopdqSkKM
@jayshreekant5 жыл бұрын
@@RaghavPal :)
@Gorky253 жыл бұрын
What does mean when you get this message: [debug] [ADB] Getting connected devices [debug] [ADB] No connected devices have been detected [debug] [ADB] Could not find online devices [debug] [ADB] Reconnecting adb (target offline) [debug] [ADB] Running '/home/myname/Android/Sdk/platform-tools/adb -P 5037 reconnect offline' I use Appium on Ubuntu and I use Intellij community.
@RaghavPal3 жыл бұрын
Hi, pls check if you have done the settings on your mobile device
@ZulfiqarAli-sp3nm4 жыл бұрын
Thank you Raghav....you help me a lot..
@RaghavPal4 жыл бұрын
So nice of you Zulfiqar
@vipulsharma44485 жыл бұрын
Sir I followed all the steps. Chrome is opening but it auto closed for 3 times. And appium give 500 error. It is not going on driver.get(""); . Giving error on hub
@vipulsharma44485 жыл бұрын
Working on Moto g3 os 6.0.1. dependencies are same appium version 1.13.0.
@RaghavPal5 жыл бұрын
Hi Vipul, Have you tried running appium server on a different port. discuss.appium.io/t/issue-selenium-hub-with-appium-server-response-code-500/2539
@vipulsharma44485 жыл бұрын
@@RaghavPal Sir appium is working fine as with same port number I tried to run an application. It woked fine.
@vipulsharma44485 жыл бұрын
@@RaghavPal 1 java version 8 2 appium server version 1.13.0 3 eclipse 2019-03 4 adb version 1.0.36 Sir can you please update me about the adb version you are using for code ? Is it equal or grater than 1.0.38?
@vipulsharma44485 жыл бұрын
@@RaghavPal thank in advance
@Johnsahu-m7k11 ай бұрын
hi raghav. i have completed this course but i am not possible perform Appium tool. very very tough as well as not understand concept. very tough this course. Functionality as well as coding part is very difficult. then i choose Restassured. easily understand & very interesting course.
@RaghavPal11 ай бұрын
Shiv Appium and specifically device setup can be little tricky I will plan another course with easy steps
@Johnsahu-m7k11 ай бұрын
@@RaghavPal great Tnx
@dvgs53754 жыл бұрын
Very good tutorial on Appium, nice explained
@RaghavPal4 жыл бұрын
Glad you liked it
@PoojaMane-p6zАй бұрын
hi Raghav, I am not able to use AppiumDriver driver; It is giving me fixes. I am using java-client (9.3.0) , selenium-java(4.23.1) , testng(7.10.2). Could you please help me with the troubleshoot?
@RaghavPalАй бұрын
Pooja Let's break down the issue step by step and try to troubleshoot the problem. Step 1: Verify the imports Make sure you have the correct imports in your Java file. You should have the following imports: ```java import io.appium.java_client.AppiumDriver; import io.appium.java_client.MobileElement; ``` If you don't have these imports, add them and see if the issue persists. Step 2: Check the Appium Java Client version You mentioned you're using Appium Java Client version 9.3.0. This version is compatible with Selenium 4.x. However, there might be some issues with the latest versions of Selenium. Try downgrading Selenium to a version that is known to work with Appium Java Client 9.3.0, such as Selenium 4.0.0. Step 3: Check the Selenium version As you're using Selenium 4.23.1, which is a relatively new version. Try downgrading to a version that is known to work with Appium Java Client 9.3.0, such as Selenium 4.0.0. Step 4: Verify the Maven dependencies (if using Maven) If you're using Maven, verify that your `pom.xml` file has the correct dependencies: ```xml io.appium java-client 9.3.0 org.seleniumhq.selenium selenium-java 4.0.0 org.testng testng 7.10.2 ``` Step 5: Check for conflicts with other dependencies If you have other dependencies in your project, they might be causing conflicts with Appium Java Client or Selenium. Try removing other dependencies one by one to see if the issue persists. Step 6: Clean and rebuild the project Sometimes, cleaning and rebuilding the project can resolve issues. Try cleaning and rebuilding your project to see if the issue is resolved. Step 7: Check the Eclipse/IDE settings (if using Eclipse/IDE) If you're using Eclipse or another IDE, check the project settings to ensure that the Java Client and Selenium libraries are properly configured. Please try -
@maheshsolanki93035 жыл бұрын
Awesome Tutorial....................
@RaghavPal5 жыл бұрын
Thanks for watching Mahesh
@mailtesting31984 жыл бұрын
hi raghav your tutorials is very helpful buddy, can you make a video on swipe coordinates of appium with java??? i searched on youtube but didn't find a single helpful tutorial about it.... both vertical and horizontal swipe please... thanks
@RaghavPal4 жыл бұрын
Hi, I will work on this, but can take some time
@mailtesting31984 жыл бұрын
@@RaghavPal okay
@RahulRana-ky3ze3 жыл бұрын
Very nicely explained. Thanks
@RaghavPal3 жыл бұрын
You are welcome
@balamurthy61552 жыл бұрын
Superb explanation but first give an introduction to understand what is the purpose.
@RaghavPal2 жыл бұрын
Noted Bala
@prateekjain24733 жыл бұрын
Awesome Tutorial 👍👍 can you please tell me how can we do automation testing in Perfecto ??
@RaghavPal3 жыл бұрын
I will plan on that Prateek
@LeTrongTan260119933 жыл бұрын
Step 1 : Open Eclipse 3:40 Step 2 : Install TestNG in eclipse kzbin.info/www/bejne/gZbKeKOEgs16fJI 4:00 Step 3 : Create a new maven project 5:20 Step 4 : Add required lib/dependencies 7:31 Appium java client 8:40 Selenium java 9:50 TestNG 10:20 Step 5 : Save - Clean - Build project 12:00 Step 6 : Create 2 folders under src/test/java 12:20 tests pages Step 7 : User src/test/resources create a folder 14:00 apps will keep application files (.apk, .ipa, .app) Step 8 : Inside tests folder create a class - BaseClass 15:15 Step 9 : Create setup & teardown functions 16:00 Annotate with testng annotations Step 10 : Add code for desired capabilities 18:25 Step 11 : Attach mobile device (or make emulator ready) 25:50 adb devices get id and platform ver and add in desired capabilities Step 12 : Start appium server 29:00 Step 13 : Run & test 35:55 Step 14 : Add test class and extend BaseClass 39:05
@RaghavPal3 жыл бұрын
Thanks a lot for this Tân. Will be helpful
@nadiakusumaputri9677 Жыл бұрын
Hi Raghav, I follow this tutorial but get "Exception in thread "main" java.lang.UnsupportedClassVersionError" when running the TestNG . I am using javac 20.0.1 and java 20.0.1, selenium 3.141.59, java-client 7.0.0, and testng 7.8.0. I am trying to find the solution for this since yesterday but still cant solve this issue. The terminal log said nothing bout this error.
@RaghavPal Жыл бұрын
Nadia The error message "Exception in thread "main" java.lang.UnsupportedClassVersionError" means that the Java Virtual Machine (JVM) is unable to load the class because it is not compatible with the version of the JVM that is running. This error can occur for a few reasons: * The class file was compiled with a newer version of Java than the JVM is running. * The class file is corrupt. * The JVM is not configured to run Java 18. To troubleshoot this error, you can try the following: * Check the Java version that the class file was compiled with. You can do this by looking at the file header of the class file. * Check the Java version that the JVM is running. You can do this by running the following command: ``` java -version ``` If the Java version that the class file was compiled with is newer than the Java version that the JVM is running, then you need to compile the class file with the older version of Java. If the class file is corrupt, then you need to delete the class file and recompile it. If the JVM is not configured to run Java 18, then you need to update the JVM configuration. I hope this helps!
@pavangadamsetty9254 жыл бұрын
Thanks raghav. you are doing great work . can you continue doing framework on appium and testproject.
@RaghavPal4 жыл бұрын
Thanks Pavan. Sure will continue.
@aayushi43063 жыл бұрын
This is the error I received after 3:39 in the video- "Unable to create a new remote session. Please check the server log for more details. Original error: An unknown server-side error occurred while processing the command. Original error: No Chromedriver found that can automate Chrome '87.0.4280'. See github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md for more details Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'"
@RaghavPal3 жыл бұрын
Hi Aayushi, can get chromedriver check this stackoverflow.com/questions/52023111/no-chromedriver-found-that-can-automate-chrome-53-0-2785
@ajivinister3 жыл бұрын
Hi Raghav, I would appreciate if you can make a new video on using WinDriver with Appium in this playlist. A simple demonstration of how to open a browser from the windows os system and run a simple google search test. Many resources available in the internet but most of them are with calculator application. If you can add a simple video how we can automate windows application especially a browser based test that would be awesome. I hope by using Appium with Windriver we can even replace selenium. Please advise.
@RaghavPal3 жыл бұрын
I will plan for a session
@ajivinister3 жыл бұрын
@@RaghavPal Thanks, much appreciated. I am still confused whether it's a good idea to use Windows Application Driver for browser based web tests instead of Selenium.
@abhishek.bansal052 жыл бұрын
very good knowledge and tutorials
@RaghavPal2 жыл бұрын
Glad you think so!
@qw81613 жыл бұрын
Thank you, so much. God bless you!!!
@RaghavPal3 жыл бұрын
You are so welcome!
@hweithiengnee49123 жыл бұрын
Hi, thanks for making the videos..really helped me alot in my testing journey. Is adding the appium.io dependency the same as appium studio? I need to use some functionality to simulate the camera, i don't think appium does this since im doing this for mobile app automation, I do not need the selenium dependency?
@RaghavPal3 жыл бұрын
Hi Hwei, you can either add appium dependency in your project or use appium studio
@zarifjamshidi80503 жыл бұрын
Thank you it was very easy and clear
@RaghavPal3 жыл бұрын
Most welcome Zarif
@lingkau35133 жыл бұрын
Hi Raghav, today I was happy to follow your Appium steps exactly. You explain it really well. Unfortunately I keep getting an error message in Eclipse because I can't type the text in the google search bar but first get a screen "Befor you continue". Despite a lot of searching to accept the cookies, I cannot get this screen away. This keeps the test failing. Thank you in advance for your answer.
@RaghavPal3 жыл бұрын
Hi, What is the complete message, When exactly does it come
@lingkau35133 жыл бұрын
@@RaghavPal invalid argument - invalid locator after showing Chrome browser on mobile.
@RaghavPal3 жыл бұрын
Not sure why its happening if you are using the same app and steps, can try a diff app
@lingkau35133 жыл бұрын
@@RaghavPal I think it's because on the mobile I get a message. The same if you start an incognito window with the text 'before you continue'.
@fazlesaifullah4 жыл бұрын
Very good. Thanks for sharing.
@RaghavPal4 жыл бұрын
You're welcome Fazle
@akshaymungekar47482 жыл бұрын
Many important things were missed out. Needs good experience working with these tools already. I tried my best to follow the video and run it on my machine the way you did but stuck many times with some random errors that were not covered in this video. Had to debug myself, follow stackoverflow to solve it. I appreciate your efforts in making this video but please make it more generic.
@RaghavPal2 жыл бұрын
Hi Akshay, I will try to add more generic videos on this
@MahaLakshmi-i4s6 ай бұрын
Hi, this video has been posted 4 years back , in this year 2024 am planning to do android mobile application testing using Appium, Cucumber framework and java language which is the best IDE to use eclipse or InteliJ, Please assist me, it would be a great advice for me, thanks in advance!
@RaghavPal6 ай бұрын
Maha Lakshmi Now we have Appium 2 and there are changes. I will plan to create new sessions as soon as possible. The current sessions will also help
@melomana343 жыл бұрын
Thank you very much!!!!!!!! You are the best :)
@RaghavPal3 жыл бұрын
You're welcome!
@automationra4 жыл бұрын
Hi, I got pass results after I run as TestNG, but the browser from the mobile failed to launch.
@RaghavPal4 жыл бұрын
Pls check the logs for troubleshooting
@muhtharmk43863 жыл бұрын
Good one! Can you help me on this please, I see adb is not recognized in command prompt when i search for adb devices. I have verified the system variables and also path, adb is placed inside platform-tools.
@RaghavPal3 жыл бұрын
Hi Muhthar, Pls check if you have set path of adb in env variables (system variables) Pls check this : stackoverflow.com/questions/8744758/adb-is-not-recognized-as-internal-or-external-command-on-windows
@fionabruce20093 жыл бұрын
37: 52 the test-output folder was created when you executed the test, its like the results of the test. Will I get the same test-output folder if am using Junit.
@RaghavPal3 жыл бұрын
Yes, pls try
@Gsuresh_35 ай бұрын
In web automation we used to write .xml config file right. Here mobile automation not required that approach?
@RaghavPal5 ай бұрын
Suresh In web automation, XML configuration files are often used to manage settings and parameters for test frameworks like Selenium. However, in mobile automation with Appium, the approach can be different. Appium typically uses desired capabilities, which are a set of key-value pairs that define the context of the test run. These capabilities can be written in JSON format and included directly in your test code or in a separate JSON file. Here's an example of how desired capabilities might look in a JSON file for an Appium test: ```json { "platformName": "Android", "platformVersion": "11.0", "deviceName": "Android Emulator", "app": "/path/to/your/app.apk", "automationName": "UiAutomator2" } ``` You would then load these capabilities in your test setup. For instance, in Java, you might use the `DesiredCapabilities` class to load them: ```java DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("platformVersion", "11.0"); capabilities.setCapability("deviceName", "Android Emulator"); capabilities.setCapability("app", "/path/to/your/app.apk"); capabilities.setCapability("automationName", "UiAutomator2"); AppiumDriver driver = new AndroidDriver(new URL("127.0.0.1:4723/wd/hub"), capabilities); ``` This approach is different from traditional web automation, where XML configuration files might be used more extensively. In Appium, JSON is preferred for defining capabilities because it is more concise and integrates well with the programming languages commonly used for writing tests (like Java, Python, etc.).
@larasoftimpact2 жыл бұрын
How to automate android apps using VPS without VT virtualization? is there any custom images? thanks
@RaghavPal2 жыл бұрын
will need to check on that
@rajuboine2 жыл бұрын
Am seeing error when adding to AppiumDriver
@RaghavPal2 жыл бұрын
hi Raju, can use WebElement instead MobileElement is replaced with WebElement discuss.appium.io/t/mobileelement-library-not-being-added/35192 replace these lines: AppiumDriver driver; driver = new AppiumDriver(url, caps); by the following lines: WebDriver driver; driver = new RemoteWebDriver(url, caps);
@ateeqhalikhan40125 жыл бұрын
Hi Raghav,what about folder which we created pages and apps folder,in the above video its just created thats it no code/content added ..
@RaghavPal5 жыл бұрын
Hi Ateeqh, the apps folder is to add your apk or ipa files for mobile applications and pages will contain class with element locators to create Page Object Model. I mentioned this here - kzbin.info/www/bejne/i53OpZZ4o9l3bNU for Page OBject Model - this will help - kzbin.info/www/bejne/Y2GpXox4draXfac Complete Appium - kzbin.info/aero/PLhW3qG5bs-L8npSSZD6aWdYFQ96OEduhk
@seonadfernandes57673 жыл бұрын
This video is super useful Raghav. Have you done any tutorial of the same thing with BDD framework using Cucumber?
@RaghavPal3 жыл бұрын
Hi, I have BDD Cucumber with Selenium. Can get all here automationstepbystep.com/
@seonadfernandes57673 жыл бұрын
That one is using JUnit and without Appium right? I'm facing some issues using BDD, TestNG and appium for a flutter mobile app.
@RaghavPal3 жыл бұрын
I will need to check for Flutter, do not have much knowledge as of now Seonad
@allenromyn6323 Жыл бұрын
current>>>> public void TestOne { } The error , or what the javac don't like. There are missing paired ( Parentheses ) ! perhaps like this : public void TestOne () { }
@RaghavPal Жыл бұрын
Hi Allen, thanks for adding
@GaneshPaliwal-h9c19 күн бұрын
In my code 2nd class is dependent on 1st class and 3rd class is dependent on 2nd class then how we can implement it in testng framework?
@RaghavPal18 күн бұрын
Ganesh To implement dependent classes in TestNG framework, you can use the dependsOnMethods or dependsOnGroups attribute in your test annotations For example, if your 2nd class is dependent on the 1st class, you can use dependsOnMethods like this: public class FirstClass { @Test public void testMethod1() { // Your test code here } } public class SecondClass { @Test(dependsOnMethods = "testMethod1") public void testMethod2() { // Your test code here } } Similarly, if your 3rd class is dependent on the 2nd class, you can use dependsOnMethods like this: public class ThirdClass { @Test(dependsOnMethods = "testMethod2") public void testMethod3() { // Your test code here } } You can also use dependsOnGroups if you have grouped your tests using the groups attribute For example: public class FirstClass { @Test(groups = "group1") public void testMethod1() { // Your test code here } } public class SecondClass { @Test(groups = "group2", dependsOnGroups = "group1") public void testMethod2() { // Your test code here } } public class ThirdClass { @Test(groups = "group3", dependsOnGroups = "group2") public void testMethod3() { // Your test code here } } This way, you can ensure that your tests are executed in the correct order based on their dependencies Note that you need to make sure that the dependent tests are in the same test class or in a class that is executed before the dependent test class -
@GaneshPaliwal-h9c18 күн бұрын
@@RaghavPal Thank u sir
@jaikishore95042 жыл бұрын
Can You Do more Videos on Mobile Application Testing ?