有很多不同的方法可以在驱动程序之间选择元素。我想知道哪一个最快且最适合 native 应用程序(iOS 和 Android)。
Appium Driver 类有:
findElementByAccessibilityId(String using)
Mobile 类有:
findElement(org.openqa.selenium.By by) //with ById/Xpath/Name/ClassName...
Android 和 iOS 驱动程序类有:
findElementByAndroidUIAutomator(String using)
findElementByIosUIAutomation(String using)
使用 RemoteWebDriver 类有:
findElementById();
findElementByXPath();
findElementById(); //css, className etc... -> WebElement which can be cast in mobileElement
所以我猜测使用 UIAutomator
和 UIAutomation
速度更快,但 Android 2.3+
需要 selendroid
.
你做得怎么样,为什么?您能否为我提供一些 findElementByAndroidUIAutomator(String using) 和 findElementByIosUIAutomation(String using)
的示例我发现 XPath 选择器存在一些问题。从我的角度来看,使用 findElement(By.name)
似乎非常简单。
最佳答案
How do you do and why? Can you provide me some examples for findElementByAndroidUIAutomator(String using) and findElementByIosUIAutomation(String using)
AndroidDriver driver = new AndroidDriver();
WebElement element = driver.findElementByAndroidUIAutomator("new UiSelector().resourceId(\"org.zwanoo.android.speedtest:id/upload\")");
其中“org.zwanoo.android.speedtest:id/upload”是包 ID 和元素 ID。您可以通过这种方式在 UiAutomatorviewer 或 Appium Inspector 中找到它。
关于java - 我应该使用哪种方法(最快)来选择元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28547434/