Appium--小例子学习pytest+appium+allure自动化框架
目录
本文涵盖内容:
- PO模式设计
- allure装饰器及报告
- 运行用例截图(成功失败均截图,通过try except finally)
- 数据驱动
前期准备:
- cd appium\sample-code\python
- 创建文件夹 mkdir calculator
- cd calculator
- 创建pages和cases文件夹
- 拷贝文件
- cp appium\sample-code\python\test\conftest.py conftest.py
- cp appium\sample-code\python\test\helpers.py helpers.py
- cd cases && mkdir officialexams && cp appium\sample-code\python\test\test_android_basic_interactions.py officialexams\test_android_basic_interactions.py
完整目录结构如下
PO模式
简单点就是元素定位和数据断言分离(个人理解),driver通过pytest.fixture初始化
创建一个basepage.py,用来元素定位,具体内容如下图(按照自己所需添加元素定位)
计算器页面:
- 具体按钮的定位方法(都是通过id可定位到)
- 通过数据驱动,模拟用户点击按钮。比如:test_input='1 2',就会点击按钮1,按钮加号,按钮2
Pytest的fixture特性
- 想想如果将两个conftest中的scope改成class后会有什么区别
Calculator目录下的conftest.py
- 定义了一个driver
- 定义了一个locator, 主要用来调用元素定位的那些方法。
具体的两个计算器用例
执行
- λ pytest cases --alluredir .\allure-report
- λ allure serve .\allure-report\
总结:
- fixture scope=class改成fuction后意味着每执行一次测试用例都要初始化一次
- 没有想到更好的方式去命名截图,pytest.mark.id的值暂没有找到获取方法
- 测试用例文件中重复代码较多,有待更进一步封装
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhggbfje
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13