Pytest学习笔记(下)

六、Pytest跳过测试用例

有条件跳过和无条件跳过,如图:

七、case的前后置

1、所有用例、类、模块的前后置:setup\teardown

2、部分前后置:使用fixtrue装饰器固件

Fixtrue介绍,方法如下:

@pytest. fixture(scope="作用域" , params="数据驱动" , autouse="自动执行" , ids="数据

名参数名" , name="给fixture作用的函数重命名")

  scope参数:

    function函数

    class类

    module模块

    package/session会话

Conftest.py文件介绍:

会话的前后置, 一般会结合conftest.py文件一起使用

  1.conftest. py单独用于存放fixture固件的配置文件。

  2.在conftest py中固件在使用时不需要导包。

  3.可以有多个conftest.py文件。

3、不同情况下的使用

1、部分case前后置设置

2、部分的前后置,引用方式

 

 3、部分会话的前后置:

 

 

八、接口之间的关联

接口关联(需要把所有的全局变量都集中管理)

比较成熟的是:通过一个单独的yaml文件管理。

接口自动化测试框架封装的第一步:接口关联封装。

 

一般会把接口之间需要使用到的变量数据,存放到yaml文件中,所以一般在根目录下创建一个yml文件用来存数据;那么数据就需要存和读的方法,我们创建一个common文件夹,下面存放一些工具的模块,yaml_util.py该文件存放对yml文件来操作函数

 

 

举例:把获取的token放在yaml文件中

 

 

九、生成报告:allure

注:allure的运行环境是依赖于JDK的,需要先下载JDK

1.官网下载allure :

下载地址:htps://github .com/allure-framework/allure2/releases

下载之后解压保存到E盘,并且需要把bin路径配置到path里面。E:\allure-2. 13.7\bin

2.验证allure是否安装成功

allure --version

3.生成allure报告

(1)生成临时的json格式的报告

addopts = -vs -alluredir ./temps --clean-alluredir

(2)生成html报告

os.system("allure generate ./temps -0 ./reports --clean")

 

(3) 打开报告

也可直接输入命令打开(输入以下两个命令其中一个即可):

allure serve ./report/allure

allure open ./report/html

十、自动化测试框架结构:

 

十一、Pytest数据驱动

 

 

 

 

 

 

 

1、解决一个接口只有一个用例的问题? ( 数据驱动)

@pytest.mark.parametrize(args_name, args_value)

args_name :参数名,字符串

 

args_value :参数值,(list , tuple ,字典列表,字典元祖) , 有多少个值那么测试用例就执行多少次。

第一种用法:

 

  @pytest . mark . parametrize("caseinfo",['张三’, ‘李四’, ‘王五'])

 

  def test_ get_ token(self, caseinfo):

 

  print(caseinfo)

第二种用法:解包

 

  @pytest . mark . parametrize("name,age" ,[[张三', '13'],['李四', '11']])

 

  def test_ .get_ token(self, name ,age):

 

  print (name, age)

3、90%企业都是通过Yaml来管理接口自动化测试的用例

yaml是一种数据格式, 主要用于配置文件或编写用例。

yamI只有两种数据:

  1.键值对:

    key: (空格) value

  2.list,用一组横线开头表示(-)

    -张三

    -李四

操作yamI所使用第三方库不是yaml ,而是pyyaml

一个py文件可以有多个接口。

一般一个接口对应一-个yaml文件,yamI文件里面就有几十个用例,有正例和反例。

请求方式的封装

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
posted @ 2022-09-11 14:21  疯狂学习中  阅读(61)  评论(0编辑  收藏  举报