2016-09-14 53 views
1

它不是重复的。在Android设置中使用appium whlie访问切换按钮客户端使用groovy和java编写

我在Appium中写自动化。我对自动化概念相当陌生,Appium它自己。我正在使用java-client。

我有一个场景,其中我正在编写自动化,我的Android应用程序必须采取Android权限。我的应用程序导航到Android设置的以下设置页面,如下所示。

enter image description here

这个页面之前我已经创建了一个页面对象,将代表该屏幕上自动点击。在这种情况下,我只对切换Switch感兴趣,并了解如何获取它的状态。

我可以得到UI Automator Viewer这样的资源ID。

enter image description here

所以我的初始化是这样的访问交换机的Widget。

SwitchID { $("#switchWidget") } 

显然,当我运行的特征文件,Appium无法找到这个开关部件。但是我可以在我正在处理的应用程序中自动执行其他小部件。但我无法在android的这个设置屏幕上得到任何东西。

任何帮助将受到高度重视。 谢谢

+0

将需要了解您遵循POM时和小部件是如何访问由您的应用程序。这方面的问题信息非常少。 – nullpointer

回答

1

您可以访问UI上的任何可见组件。无论是按钮/开关或其他。
有几种使用Appium/Selenium驱动程序访问元素的方法 - 通过名称/ id/xpath等。
使用UIAutomator捕获可见元素的ID /名称/内容desc并完成!
就你的情况而言,正如我在UIAutomator屏幕截图中所看到的 - 你得到了id和name。所以你可以使用它们中的任何一个来点击你想要的元素。
(您可以参考您的相关常规/ Java语法从Appium)
http://appium.io/introduction.html

1

使用Java客户端,我会得到通过类名的开关。类似这样的: driver.findElement(By.className("android.widget.Switch"))

不确定关于groovy客户端,但它可能类似。

+0

谢谢TinyTimZamboni –

0

如果交换机已被检查,该怎么办?如果你点击,你会禁用它...

尝试:

driver.find_element_by_xpath("//android.widget.Switch[@resource-id='android:id/switchWidget' and @checkable='true']") 

这只会让你的元素是可检查的

相关问题