5年高级测试员,还不会用Pytest+Allure实现自动化用例失败截图

每天进步一点点,关注我们哦,每天分享测试技术文章

本文章出自【码同学软件测试】

码同学公众号:自动化软件测试

码同学抖音号:小码哥聊软件测试

 

UI自动化中通常为了能够追踪测试用例执行失败时的原因,我们需要查看用例执行最后的界面,因此我们就需要在测试报告中能够查看到最终的界面截图。本文将带领大家学习如何实现用例失败截图,并将其展示在测试报告中。

 

01    环境搭建

 

  • 安装python3
  • 安装pytest
pip install pytest
  • 安装allure-pytest
pip install allure-pytest
  • 安装selenium
pip install selenium
  • 安装allure命令行工具并配置环境变量,下载地址如下
  • https://docs.qameta.io/allure/#_installing_a_commandline
  • 安装pycharm
  • 安装chrome浏览器以及chromedriver
  • pycharm搭建项目

 

项目中创建目录结构及文件如下

 

2   编写测试用例

 

  • 首先在testcases包下创建一个测试文件test_login.py,代码如下

 

免费领取 码同学软件测试 课程笔记+超多学习资料+完整视频+最新面试题,可加:Matongxue_8/关注码同学公众号

 

3   driver初始化及失败用例截图

 

  • driver初始化

在ui自动化测试过程中,driver对象是重中之重,因此通常情况下我们会将其单独拿出来作为前置条件使用,因此我们就采用自定义fixture的方式来提供全局性driver的初始化过程

在conftest.py中实现全局driver定义及自定义fixture,代码如下:

  • 失败用例截图

driver本身就具备截图方法,而我们最终的目的不仅仅是截图,而且还要将其展示在测试报告中,因此我们采用pytest自带的一个钩子pytest_runtest_makereport来实现,在conftest.py中追加如下代码:

 

4   执行测试

 

在pycharm的Terminal中执行如下命令,完成测试

pytest -sv --alluredir ./report/allure-results --clean-alluredir

测试完成后,继续执行如下命令生成测试报告

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

在pycharm打开生成的allure测试报告,查看失败用例的截图如下

 

END

免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频,可加:Matongxue_8/关注码同学公众号

本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

 

posted @ 2022-03-02 10:11  码同学软件测试  阅读(43)  评论(0编辑  收藏  举报