UiAutomator正则表达式技巧实例

发表于:2018-1-05 10:19

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Halo3224    来源:博客园

  演示1 正则表达式技巧实例——选择闹钟
/**
* 演示闹钟实例
* 1.打开闹钟界面
* 2.创建两个闹钟
* 3.删除第二个闹钟
* 4.验证是否删除成功
* @throws UiObjectNotFoundException
* */
public void testClick() throws UiObjectNotFoundException{
//初始化用例环境
UiDevice.getInstance().pressBack();
UiDevice.getInstance().pressBack();
UiDevice.getInstance().pressBack();
UiDevice.getInstance().pressHome();
//点击闹钟应用
UiObject alarm_clock = new UiObject(new UiSelector().
textMatches("Alarm Clock Xtreme"));
alarm_clock.clickAndWaitForNewWindow();
//进入闹钟后点击添加闹钟
UiObject add = new  UiObject(new UiSelector()
.resourceIdMatches(".*id/footer_textview"));
add.click();
//点击完成,创建闹钟
UiObject finish = new UiObject(new UiSelector()
.text("完成"));
finish.click();
//新建第二个闹钟
sleep(2000);
add.click();
finish.click();
//修改第二个闹钟
UiCollection uic = new UiCollection(new UiSelector()
.classNameMatches(".*ListView"));
UiObject two = uic.getChildByInstance(new UiSelector().
textMatches("\\d+:\\d+"), 1);
//修改
two.click();
//保存
finish.click();
sleep(1000);
//删除第二个
UiObject tool = uic.getChildByInstance(new UiSelector()
.resourceIdMatches(".*id/menu_item"), 1);
tool.click();
UiObject delete = new UiObject(new UiSelector().text("删除"));
delete.click();
System.out.println("用例完成");
}
  演示2 正则表达式技巧实例——兼容多语言
/**
* 兼容多语言
* ("完成 |Deon")这里可以使用或兼容多语言
* Contact(联系)
* com.bignox.app.phone:id/buttom_contact
* @throws UiObjectNotFoundException
* */
public void testContact() throws UiObjectNotFoundException{
//初始化
UiDevice.getInstance().pressBack();
UiDevice.getInstance().pressBack();
UiDevice.getInstance().pressBack();
UiDevice.getInstance().pressHome();
//进入电话应用
UiObject ysPhone = new  UiObject(new UiSelector()
.text("夜神电话"));
ysPhone.clickAndWaitForNewWindow();
//进入通讯录
UiObject mail_list = new  UiObject(new UiSelector()
.resourceIdMatches(".*id/buttom_contact"));
mail_list.click();
//添加联系人 com.bignox.app.phone:id/imageButtonAdd
UiObject add = new  UiObject(new UiSelector()
.resourceIdMatches(".*id/imageButtonAdd"));
add.click();
//姓名 com.bignox.app.phone:id/editTextName
UiObject name = new  UiObject(new UiSelector()
.resourceIdMatches(".*id/editTextName"));
String name_text = "a"+new Random().nextInt(100);
name.setText(name_text);
//电话 com.bignox.app.phone:id/editTextPhone
UiObject phone = new  UiObject(new UiSelector()
.resourceIdMatches(".*id/editTextPhone"));
phone.setText("13889137867");
//保存 这里可以使用  |(或)
UiObject finish = new  UiObject(new UiSelector()
.text("完成 |Deon"));
finish.clickAndWaitForNewWindow();
sleep(1000);
assertTrue(new UiObject(new UiSelector().textMatches(name_text)).exists());
}
  演示3 正则表达式技巧实例——同种类型对话按钮
  
public void clickDialog(boolean yn) throws UiObjectNotFoundException{
UiObject y = new UiObject(new UiSelector()
.textMatches("是|确认|确认|Y|OK "));
UiObject n = new UiObject(new UiSelector()
.textMatches("否|同意|取消|N|Cancel"));
if(yn){
y.click();
}else{
n.click();
}
}

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号