随笔分类 - pytest
摘要:前言 在上面三篇文章中,我们尝试了使用pytest xdist来做WEB分布式自动化测试、APP分布式自动化测试。在这篇文章中,对于pytest一些其他的语法,比如load模式、each模式、同步运行、直接运行、配置文件等做一说明 项目环境 |角色 | 系统 | Python版本 | ip | |
阅读全文
摘要:前言 在上篇文章 "《使用pytest xdist实现分布式APP自动化测试:基于SSH》" 中,尝试了使用SSH来实现master和worker的通信网关,现在来看下使用socket怎么实现。其实在最开始的 "《使用pytest xdist实现分布式WEB自动化测试》" 已经提到过socket,这
阅读全文
摘要:前言 pytest xdist是一款分布式测试插件,它有两种方式实现master和worker的远程通讯,一种是SSH,另一种是socket。本文将介绍如何使用SSH实现用例同步、用例执行以及报告收集 项目环境 系统环境 |角色 | 系统 | Python版本 | ip | | | | | | |
阅读全文
摘要:前言 pytest xdist是一款优秀的分布式测试插件,它可以实现进程级别的并发,也可以实现类似于master worker主从分布式测试。目前中文网站对于进程级别的并发介绍的比较多,对于主从分布式测试的资料少之又少。经过反复的实践,对于主从分布式环境的部署和运行有了一定的认知,因此,在本文中将着
阅读全文
摘要:pytest添加运行失败截图 在conftest.py中,定义截图的方法,失败时自动截图,并将截图保存到html页面中 注意的是fixture修饰的方法中,不要忘了global driver 运行之后显示测试报告的图片是宽度和高度过大,导致图片比较难看,因此我们需要优化下 自定义css 在html_
阅读全文
摘要:背景 在需要每次都要进程一组设备测试的时候,需要用到fixtures参数化,比如需要对夜神和Honor 5C进行APP自动化测试,这时候参数化就可以起到很好的用途 这个两台设备实际应用中代码和报告: params=["Honor_5C", "YeShen"] #登录:无toast弹框,不重置 @py
阅读全文
摘要:autouse=True,可以使作用域内的测试方法都运行该fixture,而无需手动添加fixture的方法名或者使用pytest.mark.usefixtures。《pytest测试实战》中有个很好的例子: #test_autouse.py import pytest import time #在
阅读全文
摘要:首先安装失败重试插件: pip install pytest-rerunfailures 有三种方式来使用失败重试 第一种:在测试方法上使用@pytest.mark.flsky()装饰器 @pytest.mark.flaky(reruns=1) #失败重跑一次 @pytest.mark.flaky(
阅读全文
摘要:一. 定义 pytest的fixture中有一个参数scope,它的作用域有五个,分别是:function、class、module、和session function:每个方法开始之前都会调用一次,方法级别 class:每个类开始之前都会调用一次,类级别 module:每个模块(py文件)开始之前
阅读全文
摘要:在之前的学习中,代码中一直是传入了fixture函数common_driver,又使用了pytest.mark.usefixtures: @pytest.mark.usefixtures("common_driver") def test_welcome(self, common_driver):
阅读全文
摘要:之前遇到了很多次类似的问题,即pytest加载conftest.py的时候报如下的错误 我的目录结构是这样的: APP_AutoTest/ |- TestCases/ |- __init__.py |- conftest.py |- test_login.py |- test_welcome.py
阅读全文
摘要:在项目下新建一个pytest.ini的配置文件,里面如下配置即可。markers=后面是标签名,如有多个,第二个开始要换行,且要缩进,不然会报错 [pytest] markers=welcome login
阅读全文
摘要:一. 引出问题 为了测试一种情况,我在目录TestCases下新建了一个test_login.py和test_welcome.py,然后发现在模块里面各自运行时,都是正常的,在命令行运行时,后者可以正常,前者总是出错: 二. 测试代码分析 先看看两个模块的代码是怎么设计的 test_login.py
阅读全文