一、设计模式(封装)
pom模式
po模式:page boject model 页面对象模式
好处:
解决线性脚本的问题
解决代码不能重复利用的问题
解决后期的维护问题
分三层:
1.基础层:base 主要放selenium原生的方法
2.页面对象层:po 主要用于放页面元素和页面动作
3.测试用例层:testcase 存放测试用例以及测试数据
页面对象层调用基础层方法,测试用例层调用页面对象层方法
unittest的前后置处理
setup在测试用例之前的准备工作
teardown在测试用例之后的扫尾工作
二、断言
unittest断言用于判断预取结果与实际结果是否相符
self.assertEqual(“a”,"b") 判断a和b是否相等
self.assertTrue("a") 判断a是否为True
self.assertIn("a","b") 判断a是否在b里面
更详细的断言讲解:https://blog.csdn.net/qq_39247153/article/details/81082313
二、DDT+EXCEL数据驱动
excel/yaml
1.什么是ddt
data driver test数据驱动测试,可以完美和unittest结合实现数据驱动
2.DDT使用的方式(通过装饰器来使用)
在函数或类上面加上装饰器来实现一些特定的功能
@ddt 装饰类,作用:用于声明当前类使用ddt数据驱动
@data 装饰函数,作用:给函数传值
@unpack 装饰函数,作用:数据解包
@file_data 装饰函数,作用:直接读取ymal/json文件
三、pytest
pytest是unittest的升级版
可以结合allure生成定制版测试报告
支持很多强大的第三方插件,allure,xdist,order等
三、Pytest默认规则
1.模块名必须以test_开头或者_test结尾
2.测试类必须以Test开头,并且不能有init方法
3.测试方法必须以test开头
四、完善达到企业里面能够实际落地的web自动化测试框架
编辑语言:python java
设计模式:pom 关键字驱动模式
用例管理:unittest ,pytest
数据驱动:ddt,pytest.mark.parameters()
二次封装:excel的封装,ini/ymal的封装,数据库的封装
日历监控:logger日志收集
异常处理:try except
jenkins:持续集成 无人值守
Docker:镜像容器技术
分布式运行:Grid
前端代码:html,javascript
