pytest+selenium 测试思路

  • 需要PO模式,对测试代码和和操作代码进行分离
  • 需要单例模式,保证每个case 只有一个窗口被打开(在业务只需要一个窗口的情况下),同时方便代码调用
  • 配置参数化
  • 定位元素参数化
  • 用例数据参数化
  • 日志 
  • 报告
  • 测试结果推送

1. PO模式:

PageObject首先定义一个BasePage类 用来初始化浏览器,二次封装浏览器操作动作等。接下来,每个页面定义一个类,其中包含元素和基本操作等。然后利用python的继承,重写等特性,将每个页面的逻辑关系联系到一起。最后单独创建测试case文件,编写测试用例即可,此时用例内不包含浏览器操作的具体过程。如果因为页面变更(逻辑不变),只需要修改定位代码即可。反之只需要修改逻辑代码。

2. 单例模式

全局只实例化一次driver 不会因为上下文操作而导致启动多个浏览器,同时方便测试步骤调用

3. 配置参数化(ini)

包含测试环境,定位参数化文件,用例参数化的路径,等待时间,超时时间,日志级别等

4. 定位元素参数化(yml)

将所有的元素定位参数化至文件,形成param:[slelector,content]的格式,通过动态赋值的方式,读取配置文件并应用到用例中

5. 用例数据参数化(yml)

将所有用例参数化至文件 通过pytest 注入到case中

6. 日志

通过二次封装logging 将logging的stream初始化两个 一个负责对命令行输出展示,日志等级根据配置文件调整,另一个负责写入文件,日志等级设置为debug。日志封装后应该提供接口返回日志路径供后期查阅

7. 报告

使用allure或者HTMLTestRunner.py进行测试报告输出

8. 测试结果推送

设置通过email或者企业微信等方式 将测试结果进行推送

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试小胖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值