1.先建一个统一管理pytest插件的requirements.txt文件.然后安装这些第三方库(注意重复安装)
2.再建一个项目根目录的pytest.ini文件配置各种参数和环境的各种基础路径base_url,便于主函数或者命令行在根目录下能找到用例并执行(注意编码格式)
3.创建装饰器又叫全局性夹具conftest.py用于用例之前的操作和用例之后的操作,并设置装饰器的作用域和是否自动执行操作(不需要导包就能直接用),当有多个时,作用域是同级或者子级;而且它同样的调用方式,自动情况下外层优先级高于内层;手动的话谁先调用谁优先级高。这个时候知道运行过程:先找pyest.ini-fixture-testcases;还可以控制执行顺序@pytest.mark.run(order=1)等。
4.先官网下载allure,下载后解压并配置path环境变量路径,开始对应新建临时报告文件夹temps和reports报告文件夹。包含bin命令、config配置文件、lib的jar包、pulgins插件;然后重启后在dos和pycharm窗口分别验证:allure --version
5.进行冒测一个用例,为方便解耦合,并直接用assert断言;先运行临时报告;
addopts = --alluredir = ./ temps --clean --alluredir;然后再用allure generate ./temps -o ./reports --clean
6.验证框架通过基本测试,补充testcases文件夹,logs,datas和commons四个包;
7.安装pyyaml,开始把测试用例的数据进行yaml文件管理(既然涉及文件数据的操作,自然要封装一个读写文件的yaml类);并在测试用例上添加参数化装饰器@pytest.mark.parameties实现接口数据驱动测试;
8.关联的时候因为要有一个存放中间变量(还是一种数据)的yaml文件,所以也要再定义一个清空读写等方法。涉及提取字符串的正则(re.search)和提取字典格式的jsonpath提取(和jmeter/postman相通)$获取根节点
9.为了提高代码的复用性,封装接口的统一请求、校验入参格式的方法
-------------------
前面相同
7.安装xlrd=1.2.0,有内置的打开excel文件open_workbook方法并在测试用例上添加参数化装饰器@pytest.mark.parameties实现接口数据驱动测试;用列表实现的。
8.中间保存一个浏览器首次访问后保存的cookies(实际上是session_id)
9.为了提高代码的复用性,封装获取不同浏览器对象的方法,pom对元素和操作元素的封装。
标签:文件,封装,框架,--,pytest,用例,api,UI From: https://www.cnblogs.com/cenglinjinran-123/p/17442434.html