The answer to this question is pretty simple, Selenium is used for Browser automation whereas Appium is used for Mobile app automation. Obviously, we can combine both of these frameworks too. So, it depends on your testing scenario, whether you are targetting mobile app or a web browser. If your target is testing a mobile app then you should go with Appium ...
The issue seems to be with the JDK version you have installed.
From your Mac:
Install JDK 8.
After installing it, update the JAVA_HOME with your JDK version:
Start a new terminal window
Attempt to launch the uiautomatorviewer
This worked for me.
I had the same problem.
I found that UIAutomatorViewer does not support JDK10, instead you need to downgrade to JDK8 (It's something to do with the fact it hasn't been updated in forever). If anyone knows the links to these, feel free to edit my response.
Straight forward Answer: As Appium is a cross-language tool for mobile automation & it's independent of product language developed. you can use any language listed below.
I am not able to decide which language should I use with Appium to
automate this app.
But the answer to this question is not straight forward: ...
Instead of running the click straight away you can iterate over the results and see if they are suitable before clicking them.
foreach (button in self.driver.find_elements_by_name("button_name"))
if button.property == 'what i want'
You can add other constraints on the button by adjusting the if statements.
Nothing inside the ...
I learn Appium using multiple resources, I found online stuff and experimental project for android & iOS App. Just google "Appium tutorial", I will suggest don't stick with any programing language(like python), it's just a medium to express code. In my case, I learn Appium using JAVA but I implemented using C#, You can cover up if you have good command ...
If the steps are really the same you could create an abstraction for all the Selenium commands and implement them also for the Appium implementation.
But I guess the mobile version will probably will not be a 100% workflow match with the desktop browser version. Most mobile apps I use are a subset and slimmed down compared to their desktop/browser ...
The element you've highlighted in the inspector is a WebView. A developer would have to provide a build of the app with WebView debugging enabled in order to view and interact with the elements inside the WebView using automation.
I haven't enabled it personally, but I've asked developers to do this in the past, and they're generally happy to do it for a ...
Hope you are using Pom.xml to add dependencies.if that is the case check you have added bellow dependencies apart from appium dependencies.
if you still ...
You are getting errors from your Appium backend that are causing the http requests that your Selenium drivers are trying to make.
I would check the Appium backend is running and allows connections from your client.
Possible reasons for it not running :
driver versions don't match - the Android Driver might need
device is not connected/visible - ...
Try to find the hamburger menu using the annotation @iOSXCUITFindBy and set the wait.until(ExpectedConditions.elementToBeClickable(By.id("testID"))).click();.
This expectation will help determine if the problem is with the locator.
Your code should be like this:
@iOSXCUITFindBy(accessibility = "icon hamburger")
private MobileElement menuBtn;