标签:集中 -- 扩展 获取 内容 txt 接收 信息 pre
pageobject是一种涉及模式
减少冗余的代码和对代码进行管理
分离测试步骤及测试对象
提高代码复用率
集中管理定位信息,提高可维护行,
代码可复用,降低成本,
不同po之间没有交叉,可团队并行开发
封装basepage,提取出来各个page中的公共方法
所有的po继承basepage
共有的方法,点击,输入内容,获取元素节点内容,等待
滑动页面,执行js代码等等
将每个po类的定位xpath分类做为类属性进行封装,命名风格统一,做到见名知意
@pytest.mark.skip 在用例方法上使用,即可跳过用例的执行
@pytest.mark.xfail 标记预期不会通过的用例
自定义
1,注册标记:在启动文件同级目录下创建一个 pytest.ini的配置文件
2,在pytest.ini添加一个 pytest配置块
3,在pytest的配置块下面加一个mjarkers的配置项
4,在markers的配置项中去注册标记
5,给对应的用例打标记,
@pytest.mark.注册的标记名称
[pytest]
markers =
addicated
yuze
class_
class TestDome1:
pytestmark = [pytest.mark.class_, pytest.mark.musen]
def test_demo1_01(self):
assert 1 == 100
def test_demo1_02(self):
assert 100 == 100
assert断言, 根据assert后面的表达式的结果是True还是False来决定是否断言通过
pip install pytest-html
--resultlog=report/demo.txt 相对路径
--junitxml=report/demo.xml jenkins使用
html和xml 标记性语言
--html=report/demo.html
pytest编写用例,不使用ddt,因为不兼容,
pytest中使用pytest.mark.parameterize来实现数据驱动,给用例传参
注意点
要么按照unittest的规则来写,数据驱动,前后置都用unittest中的
要么按照pytest来写,数据驱动,前后置都是pytest中的
回顾一下unittest中的ddt
# --------------------unittest中的数据驱动实现--------------------------
# 类级别的前置后置
使用一变量接收来自前置执行的结果,前置将需要返回给用例的内容卸载yield后,就可以直接接收,
注意:实例中注释掉的方法只限于 不需要将前置中的数据传给用例的情况下才适用。
1,pytest兼容unittest,使用unittest写的用例,可以通过pytest去执行
2,pytest写用例更简单
3,加载用例更智能
4,pytest可以对用例进行分类管理,执行用例更加的灵活
5,unittest是python中的官方库,兼容性更好,更稳定,pytest在安装的时候可能会出现同python版本的兼容问题
6,pytest支持的插件分厂丰富,功能扩展性强
7,pytest用例执行的前置后置处理更加高级
标签:集中 -- 扩展 获取 内容 txt 接收 信息 pre
原文地址:https://www.cnblogs.com/addicated/p/13194370.html