测试用例实现代码及其讲解—精通移动App测试实战(9)

发表于:2016-4-13 09:28

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

 作者:于涌 王磊 曹向志    来源:51Testing软件测试网原创

分享:
  (51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。)
  UiObject btn1 = new UiObject(new UiSelector().index(12));
  assertTrue("The '1' button is not found.", btn1.exists());
  btn1.click();
  这3行语句的意思是,计算器应用打开以后,第1条语句为获得数字按键"1"对象,从图7-51可以看到"1"按键在计算器应用界面的索引号为12,它是一个"android.widget.ImageButton"类,我们在这里也正应用了索引号(index)这一属性;第2条语句是1条断言语句,判断这个按键是否存在;第3条语句为单击按键"1"。
  UiObject btnplus = new UiObject(new UiSelector().index(11));
  assertTrue("The '+' button is not found.", btnplus.exists());
  btnplus.click();
  这3行语句是获得"+"按键,判断"+"按键是否存在和单击"+"按键,因为和前面的语句类似,所以这里不再进行赘述。
  UiObject btn2 = new UiObject(new UiSelector().index(13));
  assertTrue("The '2' button is not found.", btn2.exists());
  btn2.click();
  这3行语句是获得"2"按键,判断"2"按键是否存在和单击"2"按键,因为和前面的语句类似,所以这里不再进行赘述。
  UiObject btnequal = new UiObject(new UiSelector().index(19));
  assertTrue("The '=' button is not found.", btnequal.exists());
  btnequal.click();
  这3行语句是获得"="按键,判断"="按键是否存在和单击"="按键,因为和前面的语句类似,所以这里不再进行赘述。
  
  如图7-52所示,我们可以看出输入和输出结果放在1个"android.widget.EditText"类文本框中。
  UiObject edtresult = new UiObject(new
  UiSelector().className("android.widget.EditText"));
  这条语句是获得输入和输出结果的内容,即文本框的内容。
  System.out.println("Output Result:\r\n"+edtresult.getText());
  这条语句用于输出结果内容。
  assertTrue("The results should be 3 !",edtresult.getText().contains("3"));
  这条语句用于判断这个文本框中是否包含"3",如果包含"3",则证明结果应该是对的,当然可以对脚本进行改造,比如,判断完整的文本信息框输入和输出结果,完全一致再断定是正确的,结合本用例,结合前面的输出和后面的断言,其实也可以断定如果包含"3"就是对的。
 
  【重点提示】
  (1)UI Automator 测试用例(Test case)需要继承UiAutomatorTestCase类。而UiAutomatorTestCase 类继承至junit.framework.TestCase类,所以可以用JUnit的Assert类来比较测试结果。
  (2)如果脚本中涉及到一些带中文的内容,请到"https://github.com/sumio/uiautomator- unicode-input-helper"下载相应的包文件并参看使用示例或者将Eclipse 设置为UTF-8编码以实现对中文的良好支持,如果大家对这部分设置不是很清楚的话,请参看7.4.1节内容。
  (3)在有些情况下UI Automator 测试用例在执行过程中会出现错误,原因是脚本执行速度过快,会导致组件没有显示完整或者没有显示的时候就进行操作,在这种情况下可能会产生错误的,所以建议读者朋友依据脚本业务在关键位置设置延时,即sleep(),如sleep(1000),表示延时1秒。
本文选自《精通移动App测试实战:技术、工具和案例》第七章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
相关文章:
编写第一个UI Automator测试用例—精通移动App测试实战(8)
22/2<12
2023测试行业从业人员调查问卷已开启,千元大奖正在等你~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号