无法使用Appium 1.6从Spinner中选择一个选项

时间:2017-06-22 14:02:49

标签: selenium-webdriver automated-tests appium android-testing android-uiautomator

我正在使用Appium 1.6来自动化Android UI测试。

在此图片中,我无法从微调器中选择任何国家/地区(例如日本)。

screenshot

这是我正在使用的代码:

driver.findElement(By.id("com.akkipet.android:id/country_spinner__add_information")).click();    
driver.findElement(MobileBy.AndroidUIAutomator("new UiScrollable(new UiSelector()).scrollIntoView("+ "new UiSelector().text(\"India\"));")).click()

我做错了什么?点击微调器后,虽然我无法读取国家/地区值,但我可以阅读其他字段,如名字,姓氏等。

目前,我正在使用点按功能点按特定坐标以选择所需选项。但这将使其具体化。此外,由于选项列表因环境而异,我将不得不为每个环境提供不同的坐标集。

Tap代码:

touchAction.tap (200, 850).perform();

有人可以提出更好的解决方法吗?

2 个答案:

答案 0 :(得分:0)

试试这个。它对我有用。 driver.findElement(By.id("com.akkipet.android:id/country_spinner__add_information")).click();
driver.findElement(By.name("India")).click();

答案 1 :(得分:0)

By.Name已过时。尝试使用findElementByAndroidUIAutomator

例如:

driver.findElementByAndroidUIAutomator("new UiSelector().text("India")").click();