自动化测试教程(11)使用Unittest框架

简介: 定义setUp( )方法、tearDown( )方法、setUpClass( )方法、tearDownClass( )方法。通过命令行或者unittest.main( )方法执行时,main会调用TextTestRunner中的run()方法

文章目录

1.任务目标

我们上节课了解Unittest框架,那么这节可我们学习Unittest使用,熟练运用Unittest使用框架设计自动化脚本

2.Unittest方法使用

1)写好TestCase:一个class继承unittest.TestCase,就是一个测试用例,其中有多个以test开头的方法,每个方法在load的时候会生成一个TestCase实例。如果一个class中有四个test开头的方法,则最后load到suite中时有四个测试用例。

(2)由TestLoader加载TestCase到TestSuite。

(3)由TextTestRunner运行TestSuite,运行结果保存在TextTestResult中。通过命令行或者unittest.main( )方法执行时,main会调用TextTestRunner中的run()方法来执行用例,或者可以直接通过TextTestRunner来执行用例。Runner执行时,默认将结果输出到控制台。可以设置其输出到文件,在文件中查看结果;也可以通过HTMLTestRunner将结果输出到HTML。

3.Unittest框架使用说明

(1)import unittest #导入测试框架:定义一个继承自unittest.TestCase的测试用例类。定义setUp( )方法、tearDown( )方法、setUpClass( )方法、tearDownClass( )方法。其中setUp( )方法指在每个测试用例方法执行前都会执行一次;tearDown( )方法指在每次测试用例方法执行结束后都会执行一次;setUpClass( )方法指在一个测试用例集执行前只执行一次;tearDownClass( )方法指在一个测试用例集执行后只执行一次。

(2)定义测试用例,名字以test开头:一个测试用例应该只测试一个方面,测试目的和测试内容应很明确。主要调用assertEqual( )、assertRaises( )等断言方法判断程序执行结果和预期值是否相符。

(3)调用unittest.main( )方法启动测试:如果测试未通过,会输出相应的错误提示;如果测试全部通过,则不显示任何东西。

4.任务实操

import time
from selenium import webdriver
class Denglu(unittest.TestCase):
def setUp(self): #定义setUp()方法
self.driver=webdriver.Chrome()
self.driver.implicitly_wait(30)
def tearDown(self): #定义tearDown()方法
self.driver.quit()
def test_denglu(self): #定义test_denglu()方法
self.driver.get("http://192.168.X.XXX/suthr/logon")
self.driver.find_element_by_name("username").send_keys("hrteacher")
self.driver.find_element_by_name("password").send_keys("123456")
self.driver.find_element_by_class_name("uppercase").click()
time.sleep(5)
def test_denglu1(self): #定义test_denglu1方法
self.driver.get("http://192.168.X.XXX/suthr/logon") #进入人力资源综合服务系统登录页面
self.driver.find_element_by_name("username").send_keys("hrteacher") #输入用户名 
self.driver.find_element_by_name("password").send_keys("123456")#输入密码
self.driver.find_element_by_class_name("uppercase").click() #单击“登录”按钮
self.driver.find_element_by_link_text("门户首页").click()#单击“门户首页”按钮
time.sleep(5)
if __name__ == '__main__':
unittest.main()#调用unittest.main()方法启动测试

效果如下

5.小结

本节课我们学习了Unittest框架,Unittest很重要,我们要学会并熟练使用Unittest框架。

相关文章
|
3月前
|
人工智能 数据可视化 测试技术
Postman 性能测试教程:快速上手 API 压测
本文介绍API上线后因高频调用导致服务器告警,通过Postman与Apifox进行压力测试排查性能瓶颈。对比两款工具在批量请求、断言验证、可视化报告等方面的优劣,探讨API性能优化策略及行业未来发展方向。
Postman 性能测试教程:快速上手 API 压测
|
4月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
5月前
|
JSON JavaScript 测试技术
用Postman玩转电商API:一键测试+自动化请求教程
Postman 是电商 API 测试的高效工具,涵盖基础配置、自动化测试、环境管理与请求自动化,助你快速提升开发效率。
|
2月前
|
数据采集 人工智能 自然语言处理
Playwright MCP 浏览器自动化框架全面解析
Playwright MCP是微软推出的开源项目,结合Playwright与MCP协议,让AI通过结构化数据直接操作浏览器。告别传统视觉识别,实现高效、精准的网页自动化,广泛应用于测试、爬虫、办公自动化等场景,大幅提升效率与可靠性。
|
4月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
1020 10
|
3月前
|
监控 测试技术 API
n8n自动化测试教程 (1):环境搭建与初识n8n
n8n是一款开源、可视化的工作流自动化工具,测试工程师可通过拖拽节点快速构建API测试流程,实现测试编排、数据管理、自动化监控与告警等功能,提升测试效率与覆盖率。
|
3月前
|
安全 Shell 持续交付
Debian Apache 自动化部署教程:4 种方法,从个人到企业批量装机
本文介绍在 Debian 系统中实现 Apache 自动化部署的 4 种实用方法,涵盖个人单机与企业批量部署场景。内容包括使用 Bash 脚本一键安装、通过 PXE 实现网络批量部署、借助 Ansible/Puppet 进行多机统一配置管理,以及利用 Preseed 文件自动完成安装配置。文章还提供操作示例与避坑建议,帮助用户提升部署效率,降低人为错误。
162 0
|
5月前
|
Web App开发 开发框架 .NET
Playwright 自动化测试系列(6)| 第三阶段:测试框架集成​指南:参数化测试 + 多浏览器并行执行
Pytest 与 Playwright 集成可提升自动化测试效率,支持参数化测试、多浏览器并行执行及统一报告生成。通过数据驱动、Fixture 管理和并行优化,显著增强测试覆盖率与执行速度,适用于复杂 Web 应用测试场景。
|
4月前
|
JSON 安全 测试技术
什么是API接口测试?这可能是全网最全的教程了!
API 是应用程序间的“中间人”,用于实现通信和数据交换。随着微服务架构的普及,API 数量激增,其质量对系统稳定性至关重要。API 测试可验证功能、性能与安全性,帮助开发者在部署前发现并修复问题,提升系统可靠性。测试内容包括请求方法、URL、请求头、请求体、响应状态码与响应数据等。常用工具如 Postman、AREX 可辅助测试,确保 API 在不同场景下的正确性与稳定性。
|
5月前
|
测试技术 API C++
Playwright 自动化测试系列(7)| 第三阶段:测试框架集成​​Page Object 模式
本课程详解Playwright测试框架中的Page Object模式,通过电商登录-下单实战演示PO架构设计与高级技巧,结合Pytest实现多用户测试。重点解析PO模式提升代码复用性、降低维护成本的核心价值,并提供常见问题解决方案,助力构建高可维护性的自动化测试体系。