You are the best, Raghav. Can't count how many people I have recommended to follow your channel.
@RaghavPal4 жыл бұрын
So nice of you Chaitali
@arjunrathore89504 жыл бұрын
Raghav, you are doing a great job! This was very helpful. God bless! May you be exceedingly successful in whatever your professional and personal goals are.
@RaghavPal4 жыл бұрын
So happy and humbled to see this. Bless you
@smg_0013 жыл бұрын
Thank you for the video. Have you know any iphone emulator for windows which I can use to inspect and execute tests using appium ?
@RaghavPal3 жыл бұрын
Hi Suyama, you can check on cloud service providers like Browserstack, Saucelabs, Lambdatest
@rajenderkoyyeda3 ай бұрын
do we have any solution for IOS apps+appium with windows environment ... instead mac machine
@RaghavPal3 ай бұрын
you can use cloud devices platforms like Saucelabs, browserstack etc.
@LeTrongTan260119934 жыл бұрын
Step 1 : Open IDE (eclipse) 0:30 Step 2 : Create a new maven project or use any existing maven project 0:50 Step 3 : Add maven dependencies 2:15 appium java client : 2:38 selenium java 3:18 Step 4 : Create a class and add desired capabilities for automation for iOS 4:01 Step 5: Run and Test 12:50
@RaghavPal4 жыл бұрын
I am so grateful for this Tân. Added in the description. Please continue this helpful work
@LeTrongTan260119934 жыл бұрын
@@RaghavPal --- Allow “the App” to use your location? Allow Once Allow While Using App Don’t Allow --- “the App” Would Like to Send You Notifications Don’t Allow Allow --- How to using Appium to click on these permission dialogs in iOS?
@deepikasingh40324 жыл бұрын
Hello Raghav, I am following you from a long time, learned so much. Your knowledge is admirable. I came here to take some inspiration for my mobile automation project. I have build a Java+Maven+TestNG framework for Android using Emulator.Following are the steps that I have done: 1. In my Base class I start the appium server programatically as follows: service = AppiumDriverLocalService.buildDefaultService(); service.start(); and then call this method in BaseTestClass as shown below: @BeforeTest public void setUp() throws IOException { killNodes(); service = startAppiumServer(); } @AfterTest public void tearDown() { service.stop(); } 2.I have node.js installed and set in env variables and also have installed appium using npm install -g appium 3.I am able to run the tests via testng.xml-> Run As-> TestNG Suite and the tests are passing where the appium server is starting and stoping on the fly 4.Now I want to run these Test NG tests via Maven CLI for which I updated the pom.xml as shown below: 4.0.0 Appium MobileFramework 0.0.1-SNAPSHOT jar MobileFramework www.example.com UTF-8 1.8 1.8 src/main/java/resources true org.apache.maven.plugins maven-surefire-plugin 2.22.2 testng.xml org.testng testng 6.14.3 org.apache.commons commons-lang3 3.9 commons-io commons-io 2.6 io.appium java-client 7.0.0 com.aventstack extentreports 4.0.0 commons-validator commons-validator 1.6 org.slf4j slf4j-simple 1.7.26 test org.slf4j slf4j-api 1.7.26 org.seleniumhq.selenium selenium-java 3.141.59 5.After the above changes I am able to complile the project successfully but when I test it using mvn test command I get the following error: ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running TestSuite [TestNGContentHandler] [WARN] It is strongly recommended to add "" at the top of your file, otherwise TestNG may fail or not work as expected. [ERROR] Tests run: 3, Failures: 1, Errors: 0, Skipped: 2, Time elapsed: 1.523 s
@RaghavPal4 жыл бұрын
Did you try adding this to your testng file
@kianavila16983 жыл бұрын
Well explained - More useful for beginners
@RaghavPal3 жыл бұрын
Most welcome Mithun
@amitpanc3 жыл бұрын
Thanks a lot for the video. Is it possible for you to show how to run automation tests on real iphone and the required set up?
@RaghavPal3 жыл бұрын
I will plan a session Amit
@Gorky254 жыл бұрын
Do you have a video for Android automation testing?
@RaghavPal4 жыл бұрын
Can check in Mobile Testing section here automationstepbystep.com/
@sumitgarg91813 жыл бұрын
Hello Sir, Can you please share a video regarding drag and drop functionality?
@RaghavPal3 жыл бұрын
I will do Sumit
@sumitgarg91813 жыл бұрын
@@RaghavPal Thank you sir
@meqazi65593 жыл бұрын
Hi Raghav, Can I automate iOS Apps using Appium on windows?
@RaghavPal3 жыл бұрын
Hi, you will need a mac agent, cannot do directly on windows,
@meqazi65593 жыл бұрын
@@RaghavPal Can I please have the link for the download?
@Meet-gd2bw Жыл бұрын
Hi @raghav I want to run the test parallel in different devices at a same time. I have written the script and it's working fine in single device but could you please let me know the better way how can i run the same script in multiple devices at a same time. I want to run the test in real device and android emulator devices at a same time. Please let me know if you want more details. - thanks
@RaghavPal Жыл бұрын
Meet There are a few ways to run Appium tests in parallel on multiple devices. One way is to use the Appium Grid. The Appium Grid is a distributed testing framework that allows you to run tests on multiple devices and emulators. To use the Appium Grid, you need to set up a Grid server and then register your devices and emulators with the Grid server. Once your devices and emulators are registered with the Grid server, you can run your tests on the Grid server. Here are the steps on how to set up and use the Appium Grid: 1. Install the Appium Grid server. 2. Start the Appium Grid server. 3. Register your devices and emulators with the Appium Grid server. 4. Write your Appium tests. 5. Run your Appium tests on the Appium Grid server. Another way to run Appium tests in parallel on multiple devices is to use a cloud-based testing platform. There are a number of cloud-based testing platforms that offer Appium support, such as Sauce Labs, BrowserStack, and TestingBot. To use a cloud-based testing platform, you need to create an account with the platform and then upload your Appium tests to the platform. Once your tests are uploaded, you can run them on the platform's devices and emulators. Here are the steps on how to use a cloud-based testing platform to run Appium tests: 1. Create an account with the cloud-based testing platform. 2. Upload your Appium tests to the platform. 3. Run your Appium tests on the platform's devices and emulators. Whichever method you choose, make sure that your devices and emulators are compatible with Appium. You can find a list of compatible devices and emulators on the Appium website. I hope this helps
@Meet-gd2bw Жыл бұрын
Thanks Raghav for the quick response. Really appreciate
@chetanpuwar26515 күн бұрын
I have installed Appium but I am not able to connect WebDriver-Agent on my machine.
@RaghavPal15 күн бұрын
Chetan Try this to fix WebDriver-Agent Issue: Check Prerequisites: Install Xcode (macOS). Install latest Appium. Install Dependencies: npm install -g appium@latest appium-doctor Run Appium Doctor: appium-doctor Rebuild WebDriverAgent: Go to the folder: cd /usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent Install: npm install Open WebDriverAgent.xcodeproj in Xcode and set a signing team. Run WebDriverAgent: xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'platform=iOS,name=' test Start Appium: Check logs to confirm connection -
@bobr51285 жыл бұрын
How do you set up the tests to automatically run at 8:00 every morning on a Mac?
@RaghavPal5 жыл бұрын
Hi Bob, for this you can use some CI tool like jenkins or you can create a .bat file with your commands and schedule it using some scheduler utility like we have task scheduler on windows
@testingtrail2 жыл бұрын
Thanks Raghav, quick question is I want to test a different app that the one provided with the project it is just a matter to provide the path or do I have to re build the project? In that case do I need to copy the new app on the project? Thanks!
@RaghavPal2 жыл бұрын
Hi Jorge, you will just need the .ipa file of the app and provide the same in Desired Caps
@deepalipatil79234 жыл бұрын
Hi Raghav, Can you please tell me, How to download .ipa file for Todo app
@RaghavPal4 жыл бұрын
Hi Deepali, You can check this apple.stackexchange.com/questions/298391/how-do-i-download-an-ios-app-ipa-file-to-my-mac-after-itunes-12-7-update ios.gadgethacks.com/how-to/download-ipa-files-for-ios-apps-your-iphone-0184056/
@deepalipatil79234 жыл бұрын
@@RaghavPal I want to test Todo app on simulator, how can i find .ipa or .app file?
@RaghavPal4 жыл бұрын
Do you have the .ipa or .app file with you Or you want to extract from some app on iOS simulator
@deepalipatil79234 жыл бұрын
@@RaghavPal I need ToDo.app (.ipa) file, i don’t have this, so how can i get this ?
@RaghavPal4 жыл бұрын
HI Deepali, you either need to have the app on phone or have the .ipa or .app file from online. YOu can check some sites that can provide you the files
@KamranAhmad-z7m Жыл бұрын
how did you get appium in your working set?
@RaghavPal Жыл бұрын
Kamran There are two ways to get Appium in your working set: 1. *Add the Appium JAR files to your project.* To do this, right-click on your project and select *Build Path* > *Add External JARs*. Navigate to the Appium JAR files and click *Open*. 2. *Use a Maven dependency management tool.* If you are using a Maven dependency management tool, such as Eclipse Maven, you can add the Appium dependency to your pom.xml file. Once you have added Appium to your working set, you can start using it in your Eclipse project. Here is an example of how to add the Appium JAR files to your project: 1. Right-click on your project and select *Build Path* > *Add External JARs*. 2. Navigate to the Appium JAR files and click *Open*. 3. Click *Finish*. Here is an example of how to add the Appium dependency to your pom.xml file: ```xml io.appium appium-java-client 8.3.0 ``` Once you have added the Appium dependency to your pom.xml file, you need to run the following command to install the dependency: ``` mvn clean install ``` Once the dependency has been installed, you can start using Appium in your Eclipse project. Here is a simple Appium test case in Java: ```java import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.remote.MobileCapabilityType; import org.testng.annotations.Test; public class AppiumTest { @Test public void testAppium() throws Exception { AndroidDriver driver = new AndroidDriver(new URL("localhost:4723/wd/hub"), DesiredCapabilities.android()); // Launch the app driver.launchApp(); // Click on the button driver.findElementByAccessibilityId("Button").click(); // Close the app driver.closeApp(); } } ``` To run this test case, you can use the TestNG Eclipse plugin. Right-click on the test case and select *Run as* > *TestNG Test*.
@KamranAhmad-z7m Жыл бұрын
thanks for the reply @@RaghavPal but i am using appium for ios automation testing can respond me in accordance to ios testing
@RaghavPal Жыл бұрын
To get Appium in your Eclipse working set for iOS testing, you can follow these steps: 1. *Install the Appium Java client and the Appium iOS driver.* You can do this using a dependency management tool, such as Maven or Gradle. For Maven, add the following dependencies to your pom.xml file: ```xml io.appium appium-java-client 8.3.0 io.appium ios-driver 8.3.0 ``` For Gradle, add the following dependencies to your build.gradle file: ```groovy dependencies { compile group: 'io.appium', name: 'appium-java-client', version: '8.3.0' compile group: 'io.appium', name: 'ios-driver', version: '8.3.0' } ``` 2. *Install the Appium Desktop app.* The Appium Desktop app provides a user interface for managing Appium servers and devices. You can download the Appium Desktop app from the Appium website. 3. *Add the Appium JAR files to your Eclipse project.* To do this, right-click on your project and select *Build Path* > *Add External JARs*. Navigate to the Appium JAR files and click *Open*. 4. *Create a new Appium driver instance.* To do this, you can use the following code: ```java import io.appium.java_client.ios.IOSDriver; import io.appium.java_client.remote.MobileCapabilityType; import java.net.URL; public class AppiumTest { @Test public void testAppium() throws Exception { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS"); capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone 8"); capabilities.setCapability(MobileCapabilityType.APP, "path/to/your/app.ipa"); IOSDriver driver = new IOSDriver(new URL("localhost:4723/wd/hub"), capabilities); // Launch the app driver.launchApp(); // Click on the button driver.findElementByAccessibilityId("Button").click(); // Close the app driver.closeApp(); } } ``` 5. *Run your Appium test.* To do this, right-click on the test case and select *Run as* > *TestNG Test*.
@noumank.j.2312 жыл бұрын
Thanks Raghav for informative series, if we want to automate web application on Safari on iOS, for scripting/compiling can I work on Windows OS, or requirements for Mac OS/xcode is necessary.? Also can we get MAC OS in virtual machine?
@RaghavPal2 жыл бұрын
You will need Mac or can also use Cloud platforms like browserstack, saucelabs, lambda test..e tc
@sainiranjan404 жыл бұрын
Hi Raghav, I was able to launch Safari and Integration App successfully on my real device (iPad Air) . At 15:37, after sometime "The connection has been closed on Appium" and throws "org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details" on Eclipse console. Original error: Could not navigate to webview; there are none! Any idea what's happening ?
@RaghavPal4 жыл бұрын
HI Sai, just try to start Appium on a different port
@AnilKumar-vs7kp4 жыл бұрын
Hi Raghav, I have been following you and learnt a lot. Thanks for your wonderful videos. I have one question: I do not have a mac system and ios device, however I understand how appium is going to work on IOS. Can you please let us know, if it possible to execute test cases for IOS from Window eclipse ? If yes, could you please create a video on the same or how to connect with cloud devices to run ios code from window system. your help will be appreciable. Thank You
@RaghavPal4 жыл бұрын
Hi Anil, to work on iOS from windows, TestProject OR Android Studio can help. You can get TestProject tutorials here - automationstepbystep.com/
@AnilKumar-vs7kp4 жыл бұрын
@@RaghavPal Thanks a lot
@talhachy30024 жыл бұрын
Hi Raghav, Can you please tell me how can I set Iphone simulator in windows
@RaghavPal4 жыл бұрын
Hi Talha, I will need to check. TestProject can do iOS automation on windows
@revathychandran27773 жыл бұрын
Can we do iOS automation in windows with iPhone real device?
@RaghavPal3 жыл бұрын
You will need some mac platform for xCode
@SuperSuneel3 жыл бұрын
if anyone is facing the below issue when trying to use instruments -s devices: then below solution would help you guys: Xcode: xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance Solution is : In the terminal execute the below line: sudo xcode-select -s /Applications/Xcode.app/Contents/Developer And then try with the command: instruments -s devices Hope this helps others like me who got stuck at this point... As always many thanks to Raghav for the wonderful tutorial Reference: github.com/meteor/meteor/issues/7905
@RaghavPal3 жыл бұрын
Thanks For the help Suneel
@cloymonis23063 жыл бұрын
Thanks for the video I am getting following error "No route found for /wd%E2%80%8B/session"
@RaghavPal3 жыл бұрын
It may be due to device setup Cloy, I am not very sure and will need to check online
@oscarreyesescarate16313 жыл бұрын
@@RaghavPal I have the same error friend, have you had any solution?
@enchev0074 жыл бұрын
Hi,Raghav can i do this iOs automation on Windows?
@RaghavPal4 жыл бұрын
You can, but not directly, you will need agents. Can check Appium Studio or TestProject
@pallavijain65264 жыл бұрын
Hi Raghav, This is a wonderful video and very helpful. I do have one issue with this using adb devices command. I have xcode and using iphone SE simulator, but when running adb devices command, it's giving me none devices attached to it. I have tried all the tricks from google but nothing worked. Could you please help me to get it resolved?
@RaghavPal4 жыл бұрын
Hi Pallavi, did you try to check with other commands shown in the video. Also try to automate and check if it works
@pallavijain65264 жыл бұрын
@@RaghavPal Can you please post other commands here? i tried to use instruments -s devices but its returning all known devices. which other commands i can use to get my IOS simulator? Also, since no devices are returning here, uiautomatorview is not working to get screenshots of devices. Can you please help me here?
@sandeep87raju4 жыл бұрын
Hi Raghav, What if i had an app installed in ios device using the ipa file. What specifically can i used in the capabilities to launch the app now? it is the bundle id or the path? I looked through the internet for some solutions, but everyone was installing the ipa from a location on the mac, and then running the script, which is not what i intend. Please help.
@sandeep87raju4 жыл бұрын
Hey please ignore I found a way around this. :) . Found the bundle id of the app installed using .ipa using console on mac. stackoverflow.com/questions/42214090/how-to-obtain-bundle-id-for-an-ios-app-when-i-have-a-ipa-file-for-the-app-ins
@RaghavPal4 жыл бұрын
Happy to know this Sandeep
@RokkamNagaJyothi Жыл бұрын
Hi Raghav, Could you please mention the latest compatible appium version for below: Mac OS Ventura 13.1 NodeJS 11.13 Npm 6.4.1 Java 19.0.1 Xcode 14.2 Eclipse 4.26 I have tried with appium 1.15, 1.22 versions--able to execute 'Integration app' successfully on Iphone device but not other apps
@RaghavPal Жыл бұрын
Hi, Pls check this Mac OS Ventura 13.1: Appium 1.17.0 NodeJS 11.13: Appium 1.17.0 Npm 6.4.1: Appium 1.17.0 Java 19.0.1: Appium 1.17.0 Xcode 14.2: Appium 1.17.0 Eclipse 4.26: Appium 1.17.0 I recommend double-checking the Appium compatibility documentation to ensure that these versions are compatible
@levankhvedelidze13734 жыл бұрын
Hello Raghav, first of all thank you very much for what you do. can we run/build mobile application in simulator without source code? for ex: with .ipa file ? I have that one but I couldn't run it.
@RaghavPal4 жыл бұрын
Yes, you can, Can check for some online emulator platforms
@girija_mohanty3 жыл бұрын
Hi Raghav, I am getting below issues while trying to setup webdriver agent project in xcode Cannot test target “WebDriverAgentRunner” on “IOS-testing-device”: Logic Testing Unavailable Logic Testing on iOS devices is not supported. You can run logic tests on the Simulator. My Xcode version is 12.4 Device Ios Version 14.4 Appium Version is 1.18.3 Could you please provide the solution for this
@RaghavPal3 жыл бұрын
Hi Girija, this can help stackoverflow.com/questions/8454935/logic-testing-on-ios-devices-is-not-supported#:~:text=4%20Answers&text=Logic%20tests%20only%20work%20on,convert%20to%20application%20unit%20tests.
@vibisis5 жыл бұрын
Hi.. trying iPhone automation.. all configured as explained in your previous videos.. but getting time out error after appium.io is launched from browser. below is the log, can you pls help? debug] [iOS] Picking webview 'WEBVIEW_1' [debug] [iOS] Attempting to set context to 'WEBVIEW_1' [debug] [RemoteDebugger] WebKit debugger web socket connected to url: ws://localhost:27753/devtools/page/1 [debug] [RemoteDebugger] Starting to listen for JavaScript console [debug] [RemoteDebugger] Sending WebKit data: {"method":"Console.enable","params":{"objectGroup":"console","includeCommandLineAPI":true,"doNotPauseOnExceptionsAndMuteConsole":true}} [debug] [RemoteDebugger] Webkit response timeout: 5000 [XCUITest] TimeoutError: operation timed out [XCUITest] at afterTimeout (/usr/local/lib/node_modules/appium/node_modules/bluebird/js/release/timers.js:46:19) [XCUITest] at Timeout.timeoutTimeout [as _onTimeout] (/usr/local/lib/node_modules/appium/node_modules/bluebird/js/release/timers.js:76:13) [XCUITest] at ontimeout (timers.js:436:11) [XCUITest] at tryOnTimeout (timers.js:300:5) [XCUITest] at listOnTimeout (timers.js:263:5) [XCUITest] at Timer.processTimers (timers.js:223:10) [debug] [WD Proxy] Matched '/session/e97c93f7-6ba0-45bb-956e-429a35d2503a' to command name 'deleteSession' [debug] [WD Proxy] Proxying [DELETE /session/e97c93f7-6ba0-45bb-956e-429a35d2503a] to [DELETE localhost:8100/session/25B14A36-C199-4EE0-9C24-1D072A1A0F92] with no body [debug] [WD Proxy] Got response with status 200: "{ \"value\" : { }, \"sessionId\" : \"801996AA-9213-4C4E-A660-ECBB85C297A6\", \"status\" : 0 }" [debug] [XCUITest] Not clearing log files. Use `clearSystemFiles` capability to turn on. [debug] [XCUITest] In a web session. Removing remote debugger [debug] [RemoteDebugger] Disconnecting from WebKit remote debugger [debug] [iOSLog] Stopping iOS log capture [debug] [iProxy] recv failed: Connection reset by peer [debug] [iProxy] recv failed: Operation not permitted [debug] [RemoteDebugger] WebKit remote debugger socket disconnected [debug] [BaseDriver] Event 'newSessionStarted' logged at 1570113514442 (15:38:34 GMT+0100 (British Summer Time)) [debug] [W3C] Encountered internal error running command: TimeoutError: operation timed out [debug] [W3C] at afterTimeout (/usr/local/lib/node_modules/appium/node_modules/bluebird/js/release/timers.js:46:19) [debug] [W3C] at Timeout.timeoutTimeout [as _onTimeout] (/usr/local/lib/node_modules/appium/node_modules/bluebird/js/release/timers.js:76:13) [debug] [W3C] at ontimeout (timers.js:436:11) [debug] [W3C] at tryOnTimeout (timers.js:300:5) [debug] [W3C] at listOnTimeout (timers.js:263:5) [debug] [W3C] at Timer.processTimers (timers.js:223:10) [HTTP]
@RaghavPal5 жыл бұрын
Hi Vignesh, I could not troubleshoot with this information. Pls check if you have more logs with caused by section. Also try again all the steps.
@vijayanand33214 жыл бұрын
Hi Raghav, How do we connect a real ios mobile device in windows
@RaghavPal4 жыл бұрын
On windows iOS testing is not straight forward, but you can use platforms like TestProject for that
@vjayanand14 жыл бұрын
@@RaghavPal , I would be interested in experimenting iOS testing in windows OS and any insights would be really appreciated
@RaghavPal4 жыл бұрын
Sure, will plan a session
@superjigishah4 жыл бұрын
Hi, its very helpful. I have Question. From Appium Beginner Tutorial 15 -> Step 11 (xcode) , is it mandatory? or Its only for testing purpose to make sure simulator launch check. can we skip it? If step11 is mandatory, i only have apple id but no dev team (its not free). How to set/config on Xcode? Instead of video, can we have exact list of steps to perform? [without dev team specified] Thanks a lot!
@RaghavPal4 жыл бұрын
Hi Jigisha, You will need apple id and dev team for real iOS device, For simulators, you can do the same steps
@pradii20005 жыл бұрын
Hi Raghav, Is it required to enroll apple id (team id) for apple developer program (Cost $119) for building WebdriverAgentRunner project? I am getting the following error while adding team Id in Xcode - Failed to create provisioning profile. There are no devices registered in your account on the developer website. Plug in and select a device to have Xcode register it.
@RaghavPal5 жыл бұрын
Hi Pradeep, apple id creation is sufficient and that's free
@Ammusaw4 жыл бұрын
While creating maven project i didnt have the src/test/resourses package.could u please help me for solving this issue
@RaghavPal4 жыл бұрын
Hi, you can goto package explorer and check again
@ashwajitthukral91015 жыл бұрын
Please prepare 1 or 2 videos specific to XCUITEST. So that we people in general understand which one is easy to use Appium or XCUITEST (native) if we have to cover only iOS apps
@RaghavPal5 жыл бұрын
Hi Ashwajit, sure, I wil do it.
@ashwajitthukral91015 жыл бұрын
@@RaghavPal Thanks Raghav
@KashifKhan-yt2cg2 жыл бұрын
Latest OS on Mac (Monterey) has deprecated the instrument -s devices terminal command. The new command is xcrun xtrace list devices hopes this helps anyone else facing this issue.
@RaghavPal2 жыл бұрын
Hi Kashif, not very sure on this, will need to check online
@rajeshbe22345 жыл бұрын
Raghav could you explain windows android testing project in java and any option available for doing iOS tesing on windows? Possibility is there or not i don't know whether this question is right or not?
@RaghavPal5 жыл бұрын
Hi Rajesh, I will do more videos, iOS testing on windows is tricky as we need xcode that is available on mac
@hanseuberalles50635 жыл бұрын
Hi Raghav. Great Video! Question: I am able to run test in simulator fine, but I am getting error in console when want to test on real device: "'12.3.1' does not exist in the list of simctl SDKs. Only the following Simulator SDK versions are available on your system: 12.0, 12.1, 5.1, 12.2, 5.2". Caps I am using: .setDeviceName("XS") .setIOSBundleId("com.xx.xx.xx") .setPlatformVersion("12.3.1") .setApp("/Users/xx/Downloads/xx.ipa") .buildForIOS(); NOTE: I am able to see my device when running command: instruments -s devices Can you please help ?
@RaghavPal5 жыл бұрын
also try to give udid and try
@hanseuberalles50635 жыл бұрын
@@RaghavPal Already tried that - same problem. It is like IDE is not seeing my real device, only simulators.
@RaghavPal5 жыл бұрын
will have to check online for this Hanse
@ashwajitthukral91015 жыл бұрын
Hi Hanse, In your case simctk SDK is missing. Open Xcode- Click on Xcode ->Preferences->Components and download the required simulator sdk. Thanks Ashwajit Thukral
@kinderspielsarah78975 жыл бұрын
@@ashwajitthukral9101 i have the same issue. The real device will not found. I had downloaded sdk but it was not help
@sumitgarg91814 жыл бұрын
Hello Sir. I am not able to send the value in the textbox of the android mobile app login screen. My Code is:- Main_class package main_fun; import java.net.MalformedURLException; import java.net.URL; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.remote.DesiredCapabilities; import io.appium.java_client.AppiumDriver; import io.appium.java_client.MobileElement; import pages.login; public class main_cls { //WebDriver driver; public static AppiumDriver driver; //AndroidDriver driver2; public static void main(String[] args) { // TODO Auto-generated method stub try { openTrakop(); }catch(Exception exp) { System.out.println(exp.getCause()); System.out.println(exp.getMessage()); exp.printStackTrace(); } } public static void openTrakop() throws MalformedURLException, InterruptedException { DesiredCapabilities cap = new DesiredCapabilities(); cap.setCapability("deviceName","Galaxy On Nxt"); cap.setCapability("udid","52102f15b4fd9415"); cap.setCapability("platformName","Android"); cap.setCapability("platformVersion","8.1.0"); cap.setCapability("appPackage","com.trakop.deliveryApp"); cap.setCapability("appActivity","com.trakop.deliveryApp.activity.SplashActivity"); URL url = new URL("127.0.0.1:4723/wd/hub"); driver= new AppiumDriver(url, cap); System.out.println("Application Start"); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); MobileElement photopermission = driver.findElement(By.xpath("/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout[2]/android.widget.Button[2]")); photopermission.click(); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); MobileElement location = driver.findElement(By.id("com.android.packageinstaller:id/permission_allow_button")); location.click(); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); MobileElement picture = driver.findElement(By.id("com.android.packageinstaller:id/permission_allow_button")); picture.click(); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); System.out.println("All Permission Allowed"); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); login.login_fun(); } } Login_Fun Class package pages; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import io.appium.java_client.MobileElement; import main_fun.main_cls; public class login { public static void login_fun() throws InterruptedException { // TODO Auto-generated method stub main_cls.driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); MobileElement username = main_cls.driver.findElement(By.id("com.trakop.deliveryApp:id/textinput_placeholder")); main_cls.driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); System.out.println(username); username.setValue("ratan"); // MobileElement password = main_cls.driver.findElement(By.xpath("//*[@id='et_password']")); // password.click(); // main_cls.driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); // password.sendKeys("12345678"); // MobileElement location = main_cls.driver.findElement(By.id("com.trakop.deliveryApp:id/btn_login")); // location.click(); } } Getting this error in the console org.openqa.selenium.InvalidElementStateException: Cannot set the element to 'ratan'. Did you interact with the correct element? Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' System info: host: 'DESKTOP-2ROAK67', ip: '192.168.0.101', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '15.0.1' Driver info: io.appium.java_client.AppiumDriver Capabilities {appActivity: com.trakop.deliveryApp.acti..., appPackage: com.trakop.deliveryApp, databaseEnabled: false, desired: {appActivity: com.trakop.deliveryApp.acti..., appPackage: com.trakop.deliveryApp, deviceName: Galaxy On Nxt, platformName: android, platformVersion: 8.1.0, udid: 52102f15b4fd9415}, deviceApiLevel: 27, deviceManufacturer: samsung, deviceModel: SM-G610F, deviceName: 52102f15b4fd9415, deviceScreenDensity: 480, deviceScreenSize: 1080x1920, deviceUDID: 52102f15b4fd9415, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 8.1.0, statBarHeight: 72, takesScreenshot: true, udid: 52102f15b4fd9415, viewportRect: {height: 1848, left: 0, top: 72, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: 2ca555a5-cb7a-47f7-ab20-89c5b29063c5 at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:247) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:41) at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1) at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) at io.appium.java_client.DefaultGenericMobileElement.execute(DefaultGenericMobileElement.java:45) at io.appium.java_client.MobileElement.execute(MobileElement.java:1) at io.appium.java_client.android.AndroidElement.execute(AndroidElement.java:1) at io.appium.java_client.MobileElement.setValue(MobileElement.java:97) at pages.login.login_fun(login.java:18) at main_fun.main_cls.openTrakop(main_cls.java:66) at main_fun.main_cls.main(main_cls.java:25)
@RaghavPal4 жыл бұрын
this most probably may be due to the object locators not correct or not able to find the object
@sumitgarg91814 жыл бұрын
@@RaghavPal When I try the click event .. its working but with sendKeys its not working
@RaghavPal4 жыл бұрын
Okay, can check your dev on this. can continue with what is working for you
@ramprasadseeda73845 жыл бұрын
Hi Raghav, Do I need to add my .app file in WebDriverAgent project or can I copy my .app files location wherever it is?
@RaghavPal5 жыл бұрын
Hi Ram, you should be able to keep the .app file anywhere and provide its path
@udayalakshmivenkatesan6454 жыл бұрын
I am trying to run this, while running i got this error, pls help me on this Session could not be created. Details: Appium's IosDriver does not support Xcode version 12.0.1. Apple has deprecated UIAutomation. Use the "XCUITest" automationName capability instead. Where and how Can I use XCUITest?
@VivekSingh-rl7sy4 жыл бұрын
Try adding an additional capability like below, caps.setCapability("automationName","XCUITest"); Hope it helps.
@RaghavPal4 жыл бұрын
Thanks Vivek
@subhakarthikeyan63634 жыл бұрын
Tried this step as well...but not able to proceed ....same error occuring
@VivekSingh-rl7sy4 жыл бұрын
@@subhakarthikeyan6363 Maybe try installing a lower version of Appium
@naveenkumar-vq5pz4 жыл бұрын
Hello Ji, am getting below error in Appium when trying to inspect elements An unknown server-side error occurred while processing the command. Original error: Simulator architecture is unsupported by the '/var/folders/d0/9xtp4cp12m53dr10ypqzryvsm17q_r/T/2020717-5106-8h1ax0.jsfol/BbInstructor.app' application. Make sure the correct deployment target has been selected for its compilation in Xcode. how to resolve this?
@naveenkumar-vq5pz4 жыл бұрын
using Simulator iphone 8 Plus
@RaghavPal4 жыл бұрын
Hi Naveen, may be for the specific simulator. Can try with diff ver
@naveenkumar-vq5pz4 жыл бұрын
Ok bro... I will try. Thanks for the update
@mallikarjunaswamyb37655 жыл бұрын
Hi Raghav, Is it necessary to add the selenium client library also ? Applium by default adds all selenium library is not it ?
@RaghavPal5 жыл бұрын
When you do browser testing on mobile, you will be using Selenium libraries
@ashwajitthukral91015 жыл бұрын
I always have a doubt which style of writing capability is correct? caps.setCapability(MobileCapabilityType.BROWSER_NAME, “Safari”); or caps.setCapability(CapabilityType.BROWSER_NAME, “Safari”); ?
@RaghavPal5 жыл бұрын
Hi Ashwajit, Appium's MobileCapabilityType extends Selenium's CapabilityType interface. So it can use CapabilityType methods and has also implementation of its own methods specific for mobile testing. stackoverflow.com/questions/31996384/why-does-appium-use-platformname-instead-of-platform
@ashwajitthukral91015 жыл бұрын
@@RaghavPal Thankyou
@testingtrail4 жыл бұрын
Hey Raghav, I am having a hard time connecting real device on iOS, is there any extra config to follow? Already added did and device name. And second, I am trying to open an app from simulator by providing "app" capability, but the app closes as soon as Appium opens it, any ideas? Thanks!
@sainiranjan404 жыл бұрын
Hi Jorge, first try to replicate above example on simulator and then try on your real device. Please watch this video first ( kzbin.info/www/bejne/Y5CZdJJjeLKkic0 ) I tested on my real device (iPad Air). Plug in your device to your mac and follow below steps which worked for me, 1. Installed WebDriverAgent on real device through Xcode 2. Open Terminal > Navigate to appium-webdriveragent folder. I am using appium desktop. Go to Applications > Right click on Appium icon > Show Package Contents > Contents > Resources > app > appium-webdriveragent. If you don't find this folder, go to search box and just type appium it will display appium-webdriveragent folder. Double click on folder and you will find WebDriverAgent.xcodeproj 3. Go back to terminal > cd /usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent (Hit Return) 3. > mkdir -p Resources/WebDriverAgent.bundle (Hit Return) 4. > ./Scripts/bootstrap.sh -d (Hit Return) 5. > xcode build -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=' test - This will install WebDriverAgent on your real device 6. Now run above code from Eclipse 7. This should successfully launch Safari on your real device.
@testingtrail4 жыл бұрын
@@sainiranjan40 90% of this I already covered, let me do a turn around with your instructions and I will let you know, thank you for taking the time :)
@testingtrail4 жыл бұрын
I have found, after running all the steps that each time I run a test now (regardless or opening Safari or an app) I need to, in the middle of the run), go to General -> Profile -> Trust the webdrverAgent so it can run the test. But this is not desired since I need to manually accept it from the phone. It is like each time the test is run the webdriverAgent is deleted and then installed so it needs to be trusted again Any step I am missing here? Thanks! : The issue, that keeps webdriverAgent always being uninstalled each time the test run is related to '"useNewWDA": false', that needs to be false. At the end this configuration help me to run it 9using Ruby) #real device desired_caps = { 'platformName': 'iOS', 'platformVersion': '13.6', 'deviceName': "Jorge’s iPhone", "udid": "00008030-001249493E86802E", "automationName": "XCUITest", "app": "", "useNewWDA": false } appium_driver = Appium::Driver.new({ 'caps' => desired_caps, 'appium_lib' => { :server_url => "127.0.0.1:4723/wd/hub" }}, true) driver = appium_driver.start_driver Thanks Sai and Raghav!
@srinukesireddy35985 жыл бұрын
Hi Raghav, "instruments -s devices" can i use this command for windows as well? 'instruments' is not recognized as an internal or external command, operable program or batch file." This is the error that i was getting when i ran the above command.
@RaghavPal5 жыл бұрын
Will not work on windows Srinu
@srinukesireddy35985 жыл бұрын
@@RaghavPal Thank you :)
@silpavasavan40984 жыл бұрын
Hi Raghav, i am having trouble to get UI elements after first alert from appium ios application ,and not able to complete my automation, and i was trying to automate webApp, can you please help ?
@RaghavPal4 жыл бұрын
Hi Silpa, what exactly is the issue you faced. Any logs
@silpavasavan40984 жыл бұрын
yes, sure. will you please share your email id
@RaghavPal4 жыл бұрын
raghav.qna@gmail.com
@rajeshbe22345 жыл бұрын
Can we continue doing testing in appium studio? Because you suddenly started to explain in appium with eclipse ide that's y I am asking this question?
@RaghavPal5 жыл бұрын
Hi Rajesh, I introduced Appium Studio in Appium series so that people know about it and can get some help when needed, I will plan to do a separate series on Appium Studio after some time.
@rajeshbe22345 жыл бұрын
@@RaghavPal ok Raghav but you know when compare appium studio with appium appium studio is more advance and easy to do test so please try to make appium studio tutorial as soon as possible.
@RaghavPal5 жыл бұрын
Sure
@spraveenk914 жыл бұрын
Hey Brother, Really appreciating you instruction. Its very helpful for the beginners like me :)
@RaghavPal4 жыл бұрын
So happy to know Praveen
@spraveenk914 жыл бұрын
@@RaghavPal Do you have a video tutorial to run these steps on iOS device? I don't see one?
@RaghavPal4 жыл бұрын
Not yet on a real device Praveen
@remigiusl30703 жыл бұрын
Hi Raghav, thanks for a great job. I could not connect the real device to java with the *.ipa file. How to resolve it?
@RaghavPal3 жыл бұрын
What does the error logs say
@insouciantgaurav98705 жыл бұрын
Hi Raghav sir, I have my own project in xcode on different location, how can I add in xcuitest driver ? Please reply it's very urgent.
@RaghavPal5 жыл бұрын
HI Gaurav, I hope you are referring to webdriver project. So wherever your project is, you can configure, pls follow this - medium.com/@marjorieivy/configuring-appium-environment-for-ios-real-device-310c7bc863e4
@sainiranjan404 жыл бұрын
Could you please make a video on How to set up iOS automation on Windows ?
@RaghavPal4 жыл бұрын
Hi Sai, iOS on windows will not be so straight forward with Appium, You can check TestProject for that.
@sainiranjan404 жыл бұрын
@@RaghavPal How about integrating Mac mini with Windows and using Appium to test iOS apps ?
@RaghavPal4 жыл бұрын
I have not explored this, can give a try
@sainiranjan404 жыл бұрын
@@RaghavPal Windows not possible Raghav. I got connected using Mac Mini. Problem solved!
@abhinandangowda48295 жыл бұрын
Raghav Can please show this same sessions on Real iOS devices, since I am using real devices. Also can you plz tell the dependencies to be installed for iOS Devices
@RaghavPal5 жыл бұрын
I will do a session on real iOS device in some time Abhinandan
@@RaghavPal Hello Raghu I am still getting problem in real devices by fallowing ur all steps showed in video, where as I tried same in simulator and it's working properly. Can you help me with real device
@abhinandangowda48295 жыл бұрын
Please Help needed ASAP
@abhinandangowda48295 жыл бұрын
Bro please I need urgent help from you, please don't mind it's project purpose Raghav, that's y. Please can you looking my issue, I will give access by team viewer so, we can resolve it quickly. plz plz make time. I will be waiting for u. plz connect to me
@bilalhamza54805 жыл бұрын
Hi Raghav Sir! I have install the different application and it crashes instantly on launching, please help
@RaghavPal5 жыл бұрын
Hi Bilal, will have to check the logs and details to troubleshoot.
@bilalhamza54805 жыл бұрын
@@RaghavPal kindly share your email Address! Appium log is not pasting over here
@RaghavPal5 жыл бұрын
raghav.qna@gmail.com
@noharwala5 жыл бұрын
Hi Raghav, I am facing following issue Error: simctl error running 'list': xcrun: error: unable to find utility "simctl", not a developer tool or in PATH
@RaghavPal5 жыл бұрын
This should help Ashutosh - stackoverflow.com/questions/29108172/xcrun-unable-to-find-simctl
@moniljoshi96825 жыл бұрын
Hi Raghav I created POM framework but I am getting java.lang.IllegalArgumentException: Can not set io.appium.java_client.ios.IOSElement field Com.pages.HomePage.firstInt to com.sun.proxy.$Proxy7 Please let me know how can I share my code with you via mail of just copy-pasting here will do?
@moniljoshi96825 жыл бұрын
got the answer Change code in constructor PageFactory.initElements(new AppiumFieldDecorator(driver), this);
@RaghavPal5 жыл бұрын
Happy to know you solved it Monil
@cthree9165 жыл бұрын
App worked fine in simulator and Appium, but in Eclipse, I was getting a ClassNotFound exception on IOSDriver. I resolved it by removing the Selenium dependency in pom.xml, as described here: github.com/appium/java-client/issues/1108
@RaghavPal5 жыл бұрын
Thanks for adding this Chris. Will help many
@tahabulentdursun87013 жыл бұрын
ty raghav
@RaghavPal3 жыл бұрын
Most welcome
@sangjunlee91973 жыл бұрын
Raghav, Thank you for your video, I got a below error from Appium when run the Java source [HTTP] {"desiredCapabilities":{"browserName":"safari","platformName":"iOS","deviceName":"iPhone 8","platformVersion":"11.4"},"capabilities":{"firstMatch":[{"browserName":"safari","appium:deviceName":"iPhone 8","platformName":"ios","appium:platformVersion":"11.4"}]}} [HTTP] No route found for /wd/hub%E2%80%8B/session [HTTP]
@RaghavPal3 жыл бұрын
I do not find the exact issue or error message here, do you have caused by section in your logs
@sangjunlee91973 жыл бұрын
@@RaghavPal I reinstalled Xcode and It's resolved, Thank you~
@kaharatakashi70424 жыл бұрын
I tried appium 1.12.1, 1.17.1, 1.15.1, and I am still getting ValueError: No JSON object could be decoded. Dont know what to do...
@RaghavPal4 жыл бұрын
Hi Kahara, in most of the online links I referred, its mentioned, that it is resolved in the latest and beta ver. May by you can check the detailed logs and troubleshoot
@sheldonshi43964 жыл бұрын
Hi Raghav, I have a question. Before you install the *.app into simulator, did you install any in the phone? Like WebDriverAgent? I read some articles about this driver on the internet, so do I need to install the driver first?
@RaghavPal4 жыл бұрын
Hi Sheldon, when you run appium, the webdriver gets installed through the process
@sainiranjan404 жыл бұрын
I was so happy to go through this video but Microsoft Appcenter has so many limitations like., Note the following limitations for Appium support: - No support for TestNG. - No support for Android 4.2 or prior. - No support for automating browsers or WebView context. - Maven version must be at least 3.3.9. - Support for Appium version 1.11.0 only. This appium version requires the appium java client to be at least 6.0.0 - JUnit 4.9 - 4.12 is supported; we don't support JUnit 5. - Tests must target precisely one app. (MobileCapabilityType.FULL_RESET is supported) Now I have to downgrade all versions, learn jUnit and setup from scratch :(
@RaghavPal4 жыл бұрын
Hi Sai, I am not sure about Appcenter, try to get more info online
@sainiranjan404 жыл бұрын
@@RaghavPal I figured it out, Raghav. Wondering how to inspect native app elements ?
@RaghavPal4 жыл бұрын
Again for this I do not have much info and will have to check online
@sainiranjan404 жыл бұрын
@@RaghavPal Not much help on online. Anyways I will continue asking Google baba. Thanks though.
@KavaRouse4 жыл бұрын
thank you!!!
@RaghavPal4 жыл бұрын
You're welcome
@KavaRouse4 жыл бұрын
@@RaghavPal Hey bro, maybe you suddenly have video how to install app to the iOS simulator?
@balajij8715 Жыл бұрын
hi raghav, i'm getting the following error while i try to run the test in eclipse Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: An unknown server-side error occurred while processing the command. Original error: Could not determine iOS SDK version: Could not get Xcode version. /Library/Developer/Info.plist does not exist on disk.
@RaghavPal Жыл бұрын
This error message suggests that there is an issue with starting a new session using Selenium, likely due to a problem with the iOS SDK version or Xcode version. Here are a few steps you can try to resolve this issue: Make sure that Xcode is installed on your machine and that the correct version is being used. You can check the version of Xcode by running the command xcodebuild -version in the terminal. If Xcode is installed, try specifying the path to the Xcode app using the xcodeOrgId and xcodeSigningId capabilities in your Selenium script. For example: DesiredCapabilities caps = new DesiredCapabilities(); caps.setCapability("xcodeOrgId", "YOUR_ORG_ID"); caps.setCapability("xcodeSigningId", "YOUR_SIGNING_ID"); Check that the Info.plist file exists in the specified path /Library/Developer/Info.plist. If it does not exist, try reinstalling Xcode and/or verifying that the installation was successful. Make sure that you have the latest version of Selenium and the Selenium WebDriver for iOS installed. If none of the above solutions work, try restarting your machine and running the script again. Hopefully one of these steps resolves the issue and allows you to run your Selenium tests successfully.