IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 自动化测试pytest测试框架实例 -> 正文阅读

[系统运维]自动化测试pytest测试框架实例

本文采用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.L2
    def 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.L2
    def 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 items

test_login_py.py ..

============================== warnings summary ===============================
test_login_py.py:10
  D:\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.L2

test_login_py.py:24
  D:\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.L1

test_login_py.py:25
  D:\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

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-01-16 13:31:42  更:2022-01-16 13:33:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 6:59:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码