自动化测试pytest测试框架实例
本文采用pytest框架运行了两个测试用例。
与unittest框架相比:
- 引入包不同
- pytest的类不需要继承类
- 测试固件的方法不同,pyest中setup和teardown是小写。
- 断言方法不同 pytest直接用assert断言
import pytest
from selenium import webdriver
class TestStorm():def setup(self):self.driver=webdriver.Chrome()self.driver.get("http://demo.redmine.org/")self.driver.maximize_window()self.driver.implicitly_wait(30)@pytest.mark.L2def test_wrongpw(self):""" 正确的用户名错误的密码"""self.driver.find_element_by_xpath('//*[@id="account"]/ul/li[1]/a').click()self.driver.find_element_by_id('username').clear()self.driver.find_element_by_id('username').send_keys('11111111111111')self.driver.find_element_by_id('password').clear()self.driver.find_element_by_id('password').send_keys('1111111111111')self.driver.find_element_by_name('login').click()errormessage=self.driver.find_element_by_xpath('//*[@id="flash_error"]').text# self.assertEqual(errormessage,'无效的用户名或密码')assert errormessage=='无效的用户名或密码'@pytest.mark.L1@pytest.mark.L2def test_successlogin(self):""" 正确的用户名正确的密码"""self.driver.find_element_by_xpath('//*[@id="account"]/ul/li[1]/a').click()self.driver.find_element_by_id('username').clear()self.driver.find_element_by_id('username').send_keys('111111111')self.driver.find_element_by_id('password').clear()self.driver.find_element_by_id('password').send_keys('111111111111')self.driver.find_element_by_name('login').click()idaccount=self.driver.find_element_by_xpath('//*[@id="loggedas"]/a').text#self.assertEqual(idaccount,'1111111111')assert idaccount=='yangyali'def teardown(self):self.driver.quit()if __name__=='__main__':pytest.main(["-s","test_login_py.py","--html=./report0105.html"])
生成测试报告如下:
控制台输出:
D:\软件\python.exe D:/WebUI/venv/Scripts/assets/test_login_py.py
============================= test session starts =============================
platform win32 -- Python 3.8.2, pytest-5.4.3, py-1.8.1, pluggy-0.13.1
rootdir: D:\WebUI\venv\Scripts\assets
plugins: allure-pytest-2.9.45, html-3.1.1, metadata-1.11.0
collected 2 itemstest_login_py.py ..============================== warnings summary ===============================
test_login_py.py:10D:\WebUI\venv\Scripts\assets\test_login_py.py:10: PytestUnknownMarkWarning: Unknown pytest.mark.L2 - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/latest/mark.html@pytest.mark.L2test_login_py.py:24D:\WebUI\venv\Scripts\assets\test_login_py.py:24: PytestUnknownMarkWarning: Unknown pytest.mark.L1 - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/latest/mark.html@pytest.mark.L1test_login_py.py:25D:\WebUI\venv\Scripts\assets\test_login_py.py:25: PytestUnknownMarkWarning: Unknown pytest.mark.L2 - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/latest/mark.html@pytest.mark.L2-- Docs: https://docs.pytest.org/en/latest/warnings.html
-- generated html file: file://D:\WebUI\venv\Scripts\assets\report0105.html ---
======================= 2 passed, 3 warnings in 27.13s ========================Process finished with exit code 0
自动化测试pytest测试框架实例相关推荐
- 自动化测试unittest测试框架实例
本文采用unittest测试框架搭建一个简单的自动化测试实例,完成readmine网站的登录和新建项目用例,并生成测试报告. test_login文件 import unittest from sel ...
- 自动化测试 —— Pytest测试框架
01 | 简介 Pytest是一个非常成熟的全功能的Python测试框架,主要有以下特点: 简单灵活,容易上手,文档丰富 支持参数化,可以细粒度地控制测试用例 支持简单的单元测试与复杂的功能测试,还可 ...
- Python编程必不可少的pytest测试框架
进行编程测试重要的是为了更高效的完成功能的实现. pytest是基于unittest实现的第三方测试框架,比 unittest 更加的简洁.高效,并且可以完美兼容 unittest 的测试代码,无需对 ...
- Pytest 测试框架——数据驱动
引言 前面已经和大家介绍过 Unittest 测试框架的数据驱动框架 DDT,以及其实现原理.今天和大家分享的是 Pytest 测试框架的数据驱动,Pytest 测试框架的数据驱动是由 pytest ...
- Pytest测试框架(五):pytest + allure生成测试报告
系列文章目录 Pytest测试框架(一):pytest安装及用例执行 Pytest测试框架(二):pytest 的setup/teardown方法 Pytest测试框架(三):pytest fixtu ...
- Pytest测试框架(二):pytest 的setup/teardown方法
系列文章目录 Pytest测试框架(一):pytest安装及用例执行 Pytest测试框架(二):pytest 的setup/teardown方法 Pytest测试框架(三):pytest fixtu ...
- Pytest系列——allure(原理)之allure工具与Pytest测试框架集成
官方介绍 1.Allure Framework是一种灵活的轻量级多语言测试报告工具,不仅可以以简洁的Web报告形式非常简洁地显示已测试的内容,也允许参与开发过程的每个人从日常测试中提取最大程度的有用信 ...
- pytest测试框架快速搭建
一.介绍 pytest是一个非常成熟的Python测试框架,能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试.接口自动化测试(pytest+reques ...
- Pytest测试框架的基本使用和allure测试报告
一.测试用例的识别与运行 目录识别 通过pytest.ini配置文件配置 如果未指定任何参数,则收集从testpaths(如已配置)或当前目录开始.另外,命令行参数可以在目录.文件名或节点ID的任何组 ...
最新文章
- linux转mysql_转linux下mysql命令
- JavaScript(JS)之简单介绍
- 做移动互联网App,你的测试用例足够吗?
- php workman 多线程,workerman如何多线程
- java tongpaiyu danliantiao_java版的汉字转拼音程序
- Thread系列——ThreadPool
- CSS 兼容浏览器的方法 CSS Hack
- vmware虚拟机里的服务器自动关闭,让VirtualBox虚拟机在主机关闭时自动关闭或保存状态VBoxVmService...
- R:应用时间序列分析--基于R(1)第一章 时间序列分析简介
- 开发代码质量衡量标准
- excel交换两列笔记
- 计算机网络广东海洋大学简答题,广东海洋大学计算机网络历年考题(直接阅读版6套可编辑)...
- 设置日语输入法遇到的各种问题
- ***卖火柴的lly***
- [从头读历史] 第246节 夏商与西周
- Unity Dotween常用方法详解
- Transformer课程 业务对话机器人Rasa 3.x 运行命令学习
- I2C调试遇到的问题以及解决办法---“busy死锁状态”以及“从设备地址无应答”问题
- python默认安装目录在哪_怎么查看python的安装目录
- 超大Excel读取和写出(支持50万+)(一)