我想使用Appium为我的Android应用程序进行自动化测试。我正在用C#编写测试。我在搜索中做得很公平,但找不到解释如何在Android屏幕上访问元素的好文档。我知道有FindElementsByXPath
,FindElementById
,FindElementByName
等方法,但我无法正确使用这些方法,因为我得到了例外。请阅读以下问题:
1)要使用FindElementsByXPath
方法,我需要提前知道PageSource
,只能使用driver.PageSource
获取。有没有方便的方法在运行测试之前知道PageSource
,以便我可以将XPath字符串作为参数传递给FindElementsByXPath
?
2)我在Android屏幕上EditTextView
。在布局中,它声明如下:
<EditText
android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPassword"
android:textSize="12dp"
android:imeOptions="actionDone|flagNoExtractUi"
>
在编写测试时如何使用它的id(即'password')访问此EditTextView
?
3)是否可以以编程方式将文本设置为EditTextView
?如果是的话,该怎么做?
感谢您花时间阅读整个问题。如果您在编写Appium测试时有任何资源解释如何在Android屏幕上访问和操作元素,请提供相同的信息。
答案 0 :(得分:0)
对于Android应用,我使用UIAutomatorViewer查看应用上的所有元素。它是Android sdk的一部分,显示不同的标识符,包括ID,类名和文本。
答案 1 :(得分:0)
首先 - 您在测试中的应用程序是什么?它是一个Web应用程序还是本机应用程序?您是否在Androud设备上运行Web浏览器?
答案 2 :(得分:-1)
您可以在SDK文件夹的Tools文件夹中找到“uiautomatorviewer”,一个批处理文件。你必须使用那个。从那以后你可以捕获设备或模拟器的屏幕截图并找到ID。使用UI-automator,您可以获得Resource-id,class-name等。对于一个元素。