【pytest+playwright】pytest.ini文件中,配置base_url、有头模式/无头模式、指定浏览器、多浏览器、case并行、失败case:截图、录屏、tracing、重复运行

目录

前言

1、配置base_url

2、有头模式/无头模式

3、指定浏览器+多浏览器执行

4、失败case:截图、录屏、tracing、重复运行

5、case并行


前言

  1.  使用pytest.ini文件目的:使用 pytest CLI 运行测试【CLI:command-line interface,命令行接口】
  2. 项目中两个基本的依赖记得添加:
    playwright==1.40.0
    pytest==7.4.3
  3. pytest.ini 文件是用于配置 pytest 测试用例运行规则的文件。pytest.ini 配置文件支持的参数有以下几类:
    1.  匹配测试文件和测试函数的过滤参数
    2. 测试用例执行参数
    3. 测试报告输出参数
    4. 临时文件及路径参数
    5. 插件参数

注意,创建好pytest.ini文件,添加以下内容:

【pytest+playwright】pytest.ini文件中,配置base_url、有头模式/无头模式、指定浏览器、多浏览器、case并行、失败case:截图、录屏、tracing、重复运行_第1张图片


1、配置base_url

依赖:pytest-base-url==2.0.0

在pytest.ini中可以这样配置:

个人建议这样配置:

【pytest+playwright】pytest.ini文件中,配置base_url、有头模式/无头模式、指定浏览器、多浏览器、case并行、失败case:截图、录屏、tracing、重复运行_第2张图片


2、有头模式/无头模式

添加--headed选项就表示有头模式,去掉不写就是无头模式【默认】

【pytest+playwright】pytest.ini文件中,配置base_url、有头模式/无头模式、指定浏览器、多浏览器、case并行、失败case:截图、录屏、tracing、重复运行_第3张图片


3、指定浏览器+多浏览器执行

        在pytest.ini文件中,addopts命令后:添加-- browser选项,-- browser可重复写多次,表示多个浏览器执行:

【pytest+playwright】pytest.ini文件中,配置base_url、有头模式/无头模式、指定浏览器、多浏览器、case并行、失败case:截图、录屏、tracing、重复运行_第4张图片

写多个:

【pytest+playwright】pytest.ini文件中,配置base_url、有头模式/无头模式、指定浏览器、多浏览器、case并行、失败case:截图、录屏、tracing、重复运行_第5张图片

        此时运行1个case,就相当于是有2个case,第一个case在Firefox上执行,第二次在webkit上执行,串行执行


4、失败case:截图、录屏、tracing、重复运行

        在pytest.ini文件中,addopts命令后:添加-- tracing选项、--screenshot、-- video:

【pytest+playwright】pytest.ini文件中,配置base_url、有头模式/无头模式、指定浏览器、多浏览器、case并行、失败case:截图、录屏、tracing、重复运行_第6张图片

        注意看,他们的选项是有差异的,tracing和video是:retain-on-failure,意思是只保留失败case的tracing和video,而screenshot是only-on-failure。意思是只在失败case这里截图。

        这几个选项也可以填其他参数:--tracing【on,off,或retain-on-failure (默认值: off )】;--video 【on,off,或retain-on-failure (默认值: off )】;--screenshot 【on,off,或 only-on-failure (默认值: off )】

失败case:

【pytest+playwright】pytest.ini文件中,配置base_url、有头模式/无头模式、指定浏览器、多浏览器、case并行、失败case:截图、录屏、tracing、重复运行_第7张图片

截图点击就可以看;视频:把视频拖到浏览器上就可看了;

trace: 

在浏览器中打开一下链接:Playwright Trace Viewer

【pytest+playwright】pytest.ini文件中,配置base_url、有头模式/无头模式、指定浏览器、多浏览器、case并行、失败case:截图、录屏、tracing、重复运行_第8张图片

选择文件,点击后,找到刚才目录下的trace.zip文件,选择打开:

【pytest+playwright】pytest.ini文件中,配置base_url、有头模式/无头模式、指定浏览器、多浏览器、case并行、失败case:截图、录屏、tracing、重复运行_第9张图片

 【pytest+playwright】pytest.ini文件中,配置base_url、有头模式/无头模式、指定浏览器、多浏览器、case并行、失败case:截图、录屏、tracing、重复运行_第10张图片

重复运行:

依赖:pytest-rerunfailures==13.0

 【pytest+playwright】pytest.ini文件中,配置base_url、有头模式/无头模式、指定浏览器、多浏览器、case并行、失败case:截图、录屏、tracing、重复运行_第11张图片 

错误的case,重新运行,最多重新运行3次

或者:

  【pytest+playwright】pytest.ini文件中,配置base_url、有头模式/无头模式、指定浏览器、多浏览器、case并行、失败case:截图、录屏、tracing、重复运行_第12张图片  

添加了一个间隔时间,上述就是一个case运行失败后,会间隔100秒后再运行


5、case并行

依赖:pytest-xdist==2.2.1

【pytest+playwright】pytest.ini文件中,配置base_url、有头模式/无头模式、指定浏览器、多浏览器、case并行、失败case:截图、录屏、tracing、重复运行_第13张图片

  1. 注意上述的base-url必须放下面,否则会报错的-获取的base_url为空 了,因为pytest-xdist 与 pytest-base-url 不兼容【也就是本文中目录1下,更建议第二种写法】
  2. 后面使用-n=auto,或者-n=2,直接指定成特定数字

本栏目会持续更新~

你可能感兴趣的:(playwright,测试,Python,pytest,playwright)