app项目,属于c/s结构的,必须要有客户端;app修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍。
在进行手工的功能测试,也开发了一些自动化用例,做了性能测试之后,测试工作看似比较完整,但是当我们用户在使用和安装APP的时候,还是会有很多之前没有预料到的问题被反馈出来,像设备兼容性问题,流量使用过多,耗电量过快等,这些都是需要深层次来去找出来。所以就有了APP测试。
之前我们介绍过APP测试,戳蓝色进入复习传送门(什么是APP测试),那么延续一下,本章节我们就来讲讲关于APP测试里“App的toast介绍,操作及元素处理”。
什么是toast
Toast 是 Android 中用来显示显示信息的一种机制,它的出现是为了取代对话框,给用户即时的操作反馈,让用户明确自己所处的状态。
如图前两个是弹框,后一个是Toast:
Dialog不会自行消失,必须用户操作后(点击确定或关闭)才能消失,所以会打断用户当前任务,这会增加用户的焦虑和不安感,影响用户体验。
Toast属于一种轻量级的反馈,常常以小弹框的形式出现,一般出现1到2秒会自动消失。同时Toast 是没有焦点,也是不可点击的。
Toast上边一般有简单的文字信息,但是个别的toast是:标志+文字
toast可以出现在屏幕上中下任意位置,但同个产品会模块尽量使用同一位置,让用户产生统一认知。
toast在app自动化时的处理
我们看到了各式不同的toast,那么在app自动化时如何处理它们呢?
app自动化时,对toast可能有两个测试点:
某个指定时间点是否出现了toast;
再进一步toast的文字信息是否恰当、正确。
由于toast是特殊的元素,无法通过常规工具查看其属性,确定其方法定位,同时由于toast出现时间很短暂,所以也不能使用强制等待,因而通常最终是借助显示等待解决问题:显示等待+文字信息反向查找指定元素出现即可。
tips = "我是一个toast"
locator = (MobileBy.XPATH,"//*[contains(@text,%s)]"%tips)
wait = WebDriverWait(driver,15)
wait.until(
(expected_conditions.presence_of_element_located(locator))
◆ 不过操作时需要额外设置automationName:
desired_caps = {
'platformName': 'Android',
'platformVersion': '7.1.2',
"appPackage": "com.ss.android.article.lite", # app包名
"appActivity": ".activity.SplashActivity", # app的首页
"noReset": True, # app不重新安装
"automationName": "UiAutomator2", # 定位toast元素
"uiautomator2ServerInstallTimeout":60000
}
以上就是本期的所有内容,对于“App的toast介绍,操作及元素处理”的内容,如果同学们有什么不懂的,在首页找客服咨询或者直接加老师微信提问喔~每天都来跟小编多学一点涨薪小知识唛~