UI测试常用技巧

简介:
如何在当前界面中查找第一个ListView中的带有文本属性为Apps的子控件。
UiObjectappItem=newUiObject(newUiSelector()
.className("android.widget.ListView").instance(1)
.childSelector(newUiSelector().text("Apps")));
  如何查找当前显示界面中的取消按钮和确认按钮:
  UiObjectcancelButton=newUiObject(newUiSelector().text("Cancel"));
  UiObjectokButton=newUiObject(newUiSelector().text("OK"));
  查找到的UiObject实例可以在其他测试代码中重用。需要注意的是:每次使用UiObject做操作的时候uiautomator都会在当前屏幕重新查找该控件。
  如下代码uiautomator工具在当前界面查找文本内容为“OK”的控件。如果存在并且可用则模拟用户点击该控件。
if(okButton.exists()&&okButton.isEnabled())
{
okButton.click();
}
  还可以限制仅仅查找特定类型的控件。例如如下代码只查找文本为“Cancel”和“OK”的android.widget.Button类型控件。
UiObjectcancelButton=newUiObject(newUiSelector().text("Cancel")
.className("android.widget.Button"));
UiObjectokButton=newUiObject(newUiSelector().text("OK")
.className("android.widget.Button"));
UiCollection
  代表控件的集合。获取UiCollection的方式和UiObject一样,通过UiSelector查找。UiCollection对应Android系统中的ViewGroup以及子控件。
  如下代码演示如何通过UiSelector来获取包含视频集合的UiCollection。
  UiCollectionvideos=newUiCollection(newUiSelector()
  .className("android.widget.FrameLayout"));
  如果每个视频是放到LinearLayout中的,则可以通过如下方式获取视频的数目:
  intcount=videos.getChildCount(newUiSelector()
  .className("android.widget.LinearLayout"));
  如果需要查找标签为“CuteBabyLaughing”的视频,并点击。则可以通过如下方式:
UiObjectvideo=videos.getChildByText(newUiSelector()
.className("android.widget.LinearLayout"),"CuteBabyLaughing");
video.click();
  同样还可以模拟其他用户操作。例如,模拟选择视频的操作如下:
UiObjectcheckBox=video.getChild(newUiSelector()
.className("android.widget.Checkbox"));
if(!checkBox.isSelected())checkbox.click();
UiScrollable
  代表可滚动的控件。可以用UiScrollable来模拟水平或者垂直滚动的UI元素。如果需要操作的元素在屏幕外需要滚动屏幕才能看到的情况下需要使用UiScrollable。
  例如,下面的代码显示了如何模拟滚动到“Settings”菜单并点击“Abouttablet”菜单的操作。
UiScrollablesettingsItem=newUiScrollable(newUiSelector()
.className("android.widget.ListView"));
UiObjectabout=settingsItem.getChildByText(newUiSelector()
.className("android.widget.LinearLayout"),"Abouttablet");
about.click()


最新内容请见作者的GitHub页:http://qaseven.github.io/
相关文章
|
3月前
|
编解码 搜索推荐 iOS开发
你知道APP UI设计基础知识和测试点吗?
你知道APP UI设计基础知识和测试点吗?
|
4天前
|
测试技术 持续交付 API
Python的UI自动化测试
【4月更文挑战第17天】Python UI自动化测试涉及Selenium(Web)、Appium(移动应用)和PyQt(桌面应用)等框架。基本步骤包括确定测试目标、选择合适框架、安装配置、编写测试脚本、运行调试以及集成到CI/CD流程。注意自动化测试不能完全取代人工测试,应根据需求平衡使用。
8 1
|
1月前
|
消息中间件 Kafka Linux
Kafka【付诸实践 03】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)
【2月更文挑战第21天】Kafka【付诸实践 03】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)
189 2
|
4月前
|
消息中间件 Kafka Linux
Kafka【应用 01】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)
Kafka【应用 01】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)
195 0
|
4月前
|
数据采集 Web App开发 前端开发
前端自动化UI测试的完整方案
前端自动化UI测试的完整方案
141 0
|
6月前
关于 SAP Spartacus 电商云 UI feature level 的测试步骤
关于 SAP Spartacus 电商云 UI feature level 的测试步骤
38 0
|
6月前
|
测试技术 开发者
SAP UI5 初学者教程之二十八 - SAP UI5 应用的集成测试工具 OPA 介绍试读版
SAP UI5 初学者教程之二十八 - SAP UI5 应用的集成测试工具 OPA 介绍试读版
34 0
|
6月前
|
前端开发 测试技术 开发者
SAP UI5 初学者教程之二十七 - SAP UI5 应用的单元测试工具 QUnit 介绍试读版
SAP UI5 初学者教程之二十七 - SAP UI5 应用的单元测试工具 QUnit 介绍试读版
40 0
|
7月前
|
JavaScript 架构师
关于 SAP UI5 SimpleForm 控件里的 ColumnsL 和 labelSpanXL 的测试
关于 SAP UI5 SimpleForm 控件里的 ColumnsL 和 labelSpanXL 的测试
47 0
|
7月前
|
测试技术
SAP 电商云 Spartacus UI 单元测试的依赖隔离设置举例
SAP 电商云 Spartacus UI 单元测试的依赖隔离设置举例
43 0

热门文章

最新文章