本文采用pytest框架运行了两个测试用例。

与unittest框架相比:

  1. 引入包不同
  2. pytest的类不需要继承类
  3. 测试固件的方法不同,pyest中setup和teardown是小写。
  4. 断言方法不同 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测试框架实例相关推荐

  1. 自动化测试unittest测试框架实例

    本文采用unittest测试框架搭建一个简单的自动化测试实例,完成readmine网站的登录和新建项目用例,并生成测试报告. test_login文件 import unittest from sel ...

  2. 自动化测试 —— Pytest测试框架

    01 | 简介 Pytest是一个非常成熟的全功能的Python测试框架,主要有以下特点: 简单灵活,容易上手,文档丰富 支持参数化,可以细粒度地控制测试用例 支持简单的单元测试与复杂的功能测试,还可 ...

  3. Python编程必不可少的pytest测试框架

    进行编程测试重要的是为了更高效的完成功能的实现. pytest是基于unittest实现的第三方测试框架,比 unittest 更加的简洁.高效,并且可以完美兼容 unittest 的测试代码,无需对 ...

  4. Pytest 测试框架——数据驱动

    引言 前面已经和大家介绍过 Unittest 测试框架的数据驱动框架 DDT,以及其实现原理.今天和大家分享的是 Pytest 测试框架的数据驱动,Pytest 测试框架的数据驱动是由 pytest ...

  5. Pytest测试框架(五):pytest + allure生成测试报告

    系列文章目录 Pytest测试框架(一):pytest安装及用例执行 Pytest测试框架(二):pytest 的setup/teardown方法 Pytest测试框架(三):pytest fixtu ...

  6. Pytest测试框架(二):pytest 的setup/teardown方法

    系列文章目录 Pytest测试框架(一):pytest安装及用例执行 Pytest测试框架(二):pytest 的setup/teardown方法 Pytest测试框架(三):pytest fixtu ...

  7. Pytest系列——allure(原理)之allure工具与Pytest测试框架集成

    官方介绍 1.Allure Framework是一种灵活的轻量级多语言测试报告工具,不仅可以以简洁的Web报告形式非常简洁地显示已测试的内容,也允许参与开发过程的每个人从日常测试中提取最大程度的有用信 ...

  8. pytest测试框架快速搭建

    一.介绍 pytest是一个非常成熟的Python测试框架,能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试.接口自动化测试(pytest+reques ...

  9. Pytest测试框架的基本使用和allure测试报告

    一.测试用例的识别与运行 目录识别 通过pytest.ini配置文件配置 如果未指定任何参数,则收集从testpaths(如已配置)或当前目录开始.另外,命令行参数可以在目录.文件名或节点ID的任何组 ...

最新文章

  1. linux转mysql_转linux下mysql命令
  2. JavaScript(JS)之简单介绍
  3. 做移动互联网App,你的测试用例足够吗?
  4. php workman 多线程,workerman如何多线程
  5. java tongpaiyu danliantiao_java版的汉字转拼音程序
  6. Thread系列——ThreadPool
  7. CSS 兼容浏览器的方法 CSS Hack
  8. vmware虚拟机里的服务器自动关闭,让VirtualBox虚拟机在主机关闭时自动关闭或保存状态VBoxVmService...
  9. R:应用时间序列分析--基于R(1)第一章 时间序列分析简介
  10. 开发代码质量衡量标准
  11. excel交换两列笔记
  12. 计算机网络广东海洋大学简答题,广东海洋大学计算机网络历年考题(直接阅读版6套可编辑)...
  13. 设置日语输入法遇到的各种问题
  14. ***卖火柴的lly***
  15. [从头读历史] 第246节 夏商与西周
  16. Unity Dotween常用方法详解
  17. Transformer课程 业务对话机器人Rasa 3.x 运行命令学习
  18. I2C调试遇到的问题以及解决办法---“busy死锁状态”以及“从设备地址无应答”问题
  19. python默认安装目录在哪_怎么查看python的安装目录
  20. 超大Excel读取和写出(支持50万+)(一)

热门文章

  1. 利用ASP.NET MVC源代码调试你的应用程序
  2. screen中文乱码问题的解决
  3. python中时间的处理
  4. 8-2 主从复制高可用
  5. 不抛出异常的swap
  6. 【论文写作】课程指导平台的开发中需求分析如何写
  7. python三维图怎么显示_如何在python中绘制多个回归3D图
  8. python如何连接sql server数据库_Python连接SQLServer数据库
  9. 如何提升应用程序启动权限
  10. mysql8.0.15安装方法 mysql8安装教程