Pytest +Selenium+ Allure UI定制报告

2020-07-16 18:44:17 浏览数 (1)

前言

pytest是一个成熟的全功能的Python测试工具,可以帮助你写出更好的程序。适合从简单的单元到复杂的功能测试

Allure框架是一个灵活的轻量级多语言测试报告工具,它不仅以web的方式展示了简介的测试结果,而且允许参与开发过程的每个人从日常执行的测试中最大限度的提取有用信息

从dev/qa的角度来看,Allure报告简化了常见缺陷的统计:失败的测试可以分为bug和被中断的测试,还可以配置日志、步骤、fixture、附件、计时、执行历史以及与TMS和BUG管理系统集成,所以,通过以上配置,所有负责的开发人员和测试人员可以尽可能的掌握测试信息。

从管理者的角度来看,Allure提供了一个清晰的“大图”,其中包括已覆盖的特性、缺陷聚集的位置、执行时间轴的外观以及许多其他方便的事情。allure的模块化和可扩展性保证了您总是能够对某些东西进行微调,使Allure更适合您。

特征

  • 有关失败的断言语句的详细信息(无需记住self.assert*名称);
  • 自动发现 测试模块和功能;
  • 模块化夹具,用于管理小型或参数化的长期测试资源;
  • 可以运行单元测试(或试用), 鼻子测试套件开箱即用;
  • Python 3.5 和PyPy3;
  • 丰富的插件架构,拥有850多个外部插件和繁荣的社区;

环境安装

windows环境相关:

  • python 3.6版本
  • pytest 4.5.0版本
  • allure-pytest 最新版
  • Selenium

命令行:pip install pytest4.5.0 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

pip install allure-pytest -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

pip install Selenium -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

allure

下载完后解压

环境变量配置如下图

命令allure --version,pytest --version

出现如下图安装成功

登录禅道测试实例

代码语言:javascript复制
"""
 * Create by dell on 2020/6/15
 * Author :wencheng
 * 微信公众 :自动化测试 To share

"""import allure
import pytest
from selenium import webdriver
from time import sleep


@allure.step("步骤1:输入访问地址")defstep_1():
    print("地址:http://58.87.103.42:9091/zentao/user-login.html")@allure.step("步骤2:输入账号密码")defstep_2():
    username ='admin'
    print("输入用户名%s:"% username)
    password ='123456'
    print("输入密码%s:"% password)@allure.step("步骤3:断言结果")defstep_3():
    print("判断页面跳转到/zentao/my/")@allure.feature("登陆页面")classTestLogin():
    '''登陆页面'''

    @allure.story("这是一个登陆的用例")
    deftest_1(self):
        '''用例描述:登录'''
        step_1()
        url ='http://51.17.203.42:9091/zentao/user-login.html'
        driver = webdriver.Chrome()
        driver.maximize_window()
        driver.get(url)
        step_2()
        driver.find_element_by_css_selector('#account').send_keys('admin')
        driver.find_element_by_css_selector('[name ="password"]').send_keys('123456')
        driver.find_element_by_css_selector('#submit').click()
        step_3()
        title = driver.title
        print("当前页面的title是:", title,"n")
        assert title ==u"用户登录 - 禅道"
        sleep(2)
        currentPageUrl = driver.current_url
        print("当前页面的url是:", currentPageUrl,"n")
        assert currentPageUrl == http://51.17.203.42:9091//zentao/my/'
        sleep(2)
        driver.quit()if __name__ =='__main__':
    pytest.main(['-s','test_allure_login.py'])

运行

cd 到项目目录,执行pytest --alluredir ./report。

生成report文件夹

执行allure serve report启动Allure报告

selenium执行结果

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家的支持。

0 人点赞