Web自动化测试设计模式之POM


一、设计模式(封装)

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM