技术大咖才会的技能:Python+Selenium+pytest自动化框架

发布时间:2023-03-16 09:00

目录

 1.概述

Selenium:

pytest:

2.环境搭建```

3.编写规则

4.selenium+pytest案例

5.扩展插件

5.1. 测试报告:pytest-html

6.conftest配置


 1.概述

Selenium:

基于JavaScript代码库的自动化测试框架,通过脚本语言,模拟用户行为操作,最接近用户真实场景,实现对web自动测试。是目前企业最主流的webUI自动化框架

pytest:

pytest是一个非常成熟的全功能的Python测试框架,是unittest框架的扩展,主要特点有以下几点:

   简单灵活,非常方便的组织自动化测试用例

   支持参数化,可以细粒度地控制要测试的测试用例

    能够支持简单的单元测试和复杂的功能测试,比如web端selenium/移动端appnium等自动化测试、request接口自动化测试

    pytest具有很多第三方插件,并且可以自定义扩展,比如测试报告生成,失败重运行机制

    测试用例的skip和fail处理

    结合业界最美的测试报告allure+Jenkins,持续集成

2.环境搭建
```

pip install -U pytest

pytest-xdist #多线程

pip install -U pytest-rerunfailures   #重试运行cases

pip install  pytest-html#生成测试报告

pytest --version # 会展示当前已安装版本

```

3.编写规则

编写pytest测试样例非常简单,只需要按照下面的规则:

 测试文件以test_开头(以_test结尾也可以)

 测试类以Test开头,并且不能带有 init 方法

 测试函数以test_开头

 断言使用基本的assert即可

4.selenium+pytest案例

技术大咖才会的技能:Python+Selenium+pytest自动化框架_第1张图片

 

 

import pytest # 引入pytest包

def test_a(): # test开头的测试函数

print("------->test_a")

assert 1 # 断言成功

def test_b():

print("------->test_b")

   assert 0 # 断言失败

if __name__ == '__main__':

       pytest.main(['-s', 'class01.py'])

```

可以包含一个或多个Test开头的测试类,test_开头的函数

1.测试类主函数模式


```

pytest.main(['-s', 'test.py'])

```

2.命令行模式运行

```

pytest 文件路径/测试文件名

```

5.扩展插件


5.1. 测试报告:pytest-html

```

pytest.main(['-s','test.py','--html=./report/result.html'])

```

表示当前路径下生成report文件夹,result.html文件

技术大咖才会的技能:Python+Selenium+pytest自动化框架_第2张图片

 

 


5.2 批量运行用例:pytest-xdist

```

pytest.main(['-s','test.py','--html=./report/result.html','-n=2'])

```


-n=2 表示2个线程并发运行所有的测试用例

5.3 allure测试报告:allure-pytest

运行用例:


```

pytest.main(['-s', '-q', '--alluredir', './report/xml'])

```

        pytest 测试目标文件 --alluredir 数据目录

                运行后的结果,是生成xml的数据集合

生成报告:

```

allure generate --clean ./report/xml/ -o ./results/html/

```

第一个是数据集目录,第二个是生成报告目录

        -o是指向目标生成测试报告的目录;

6.conftest配置


当自动化用例越来越庞大的时候,很多用例的数据可以共享,复用,让用例脚本可读性,维护性更高,比如登录等

conftest.py 配置里可以实现数据共享,比如py跨文件共享前置

conftest.py配置脚本名称是固定的,不能改名称

不需要import导入 conftest.py,pytest用例会自动查找

技术大咖才会的技能:Python+Selenium+pytest自动化框架_第3张图片

 

 


自从使用了pytest框架,爱了爱了,深深的感受到它的可扩展性和灵活性,老板再也不用担心我的自动化效率低 

好了 学习也就到此结束了 想了解更多相关知识请关注我吧!下面是小编想对读者大大们写的一封信哦! 记住要认真读哦!


 感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接免费拿走:
① 2000多本软件测试电子书(主流和经典的书籍应该都有了)
② 软件测试/自动化测试标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python编程语言、API接口自动化测试、web自动化测试、App自动化测试(适合小白           

 

  

 ⑤ Python学习路线图(告别不入流的学习) 
上图的资料 在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)
可以自助拿走,群号768747503备注(csdn999)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦
   ————————————————
「学习资料 笔记 工具 文档领取」

图片 

 扫描二维码,
备注“csdn999”
小姐姐邀你一起学习哦~~
和志同道合的测试小伙伴一起讨论测试技术吧!

   一定一定一定 要备注暗号:CSDN999
   ———————————————


 

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号