测试覆盖率是对测试完成程度的度量。它通常依据某种覆盖准则来对测试用例执行情况进行衡量,以判断测试执行得是否充分
。
——出自《
计算机科学技术名词 》第三版
今天文章中我们给大家介绍覆盖率统计及覆盖率分析。在10月13日20:00,资深测试开发架构师思寒将光临直播间手把手教大家如何搞定精准化测试!
本系列文章汇总了从 Appium 自动化测试从基础到框架高级实战中,所涉及到的方方面面的知识点精华内容(如下所示),希望对大家快速总结和复习有所帮助。
1.Appium 基础 1 (环境搭建和简介)
2.Appium 基础 2 (元素定位和元素常用方法)
3.Appium 基础 3 (手势操作和 uiautomator 查找元素)
4.Appium 基础 4 (显式等待)
5.Appium 基础 5 (toast 和参数化)
6.Appium 基础 6 (webview)
7.Appium_ 企业微信练习 (非 PO,增加和删除联系人)
8.Appium_ 企业微信练习 ( PO–增加联系人)
本文为第三篇,主要讲解 Appium Toast、参数化、WebView(附实例代码)。
- 为了给当前视图显示一个浮动的显示块,与 dialog 不同它永远不会获得焦点;
-
- 显示时间有限,根据用户设置的显示时间后自动消失;
-
- 本身是个系统级别的控件,它归属系统 settings,当一个 App 发送消息的时候,不是自己造出来的这个弹框,它是发给系统,由系统统一进行弹框,这类的控件不在 App 内、需要特殊的控件识别方法;
-
- Appium 使用 UIAutomator 底层的机制来分析抓取 toast,并且把 toast 放到控件树里面,但本身并不属于控件
-
- AutoMationName:UIAutomator2 这个是 Appium 本身的设置就自带的,不需要额外添加,默认就是UIAutomator2;
-
- getPageSource 是无法找到 Toast 的;
-
- 必须使用 Xpath 去查找:
-
- //*[@class=“android.widget.Toast”]
-
- //*[contains(@text,“xxxxx”)]
-
- adb shell dumpsys window | findstr mCurrent
-
- 这个命令可以找到当前的 activity,不知道 Android 高版本是不是还 ok,由于 API Demo 权限高,可直接跳到这个 activity 运行,其他 App 就不 ok 了;
-
- driver.page_source 可以打印当前的页面,可以找到 Toast 的伪控件;
-
- 打印 toast 的 text 出来;
-
- 参数化要解决的是一个用例可以复用的问题,比如一个用例重复使用不同的数据,就可以使用参数化,比如同一个用例,有搜索股价,比较股价,都是同一个方法,只是数据不太一样;
-
- @pytest.mark.parametrize(‘searchkey,type,price’,[
- (‘alibaba’,‘BABA’,180),
- (‘xiaomi’,‘01810’,10)
-
- 用上面的方法去使用参数化;
-
- def test_search(self,searchkey,type,price) 函数的参数要和参数化的参数的数量一样,字符串也要一样;
-
- 一个用例,有2组参数化,就会运行两次 setup 和 teardown 的方法;
-
- 使用 self.driver.find_element(By.ID,“com.xueqiu.android:id/search_input_text”).send_keys(f"{searchkey}“),使用f”{searchkey}"是一个好东西,可以搭配参数化使用;
-
- 手机端
-
- 被测浏览器:(不可以是第三方浏览器)safari for ios and chrome,chromium,or bro