自动化测试教程(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框架。

相关文章
|
2天前
|
人工智能 自然语言处理 测试技术
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
AxBench 是由斯坦福大学推出,用于评估语言模型可解释性方法的基准测试框架,支持概念检测和模型转向任务,帮助研究者系统地比较不同控制技术的有效性。
30 5
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
|
1月前
|
人工智能 运维 Prometheus
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
AIOpsLab 是微软等机构推出的开源框架,支持云服务自动化运维,涵盖故障检测、根本原因分析等完整生命周期。
138 13
AIOpsLab:云服务自动化运维 AI,微软开源云服务 AI 框架,覆盖整个生命周期
|
1月前
|
人工智能 编解码 自然语言处理
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
AGUVIS 是香港大学与 Salesforce 联合推出的纯视觉 GUI 自动化框架,能够在多种平台上实现自主 GUI 交互,结合显式规划和推理,提升复杂数字环境中的导航和交互能力。
101 8
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
|
24天前
|
小程序 前端开发 关系型数据库
uniapp跨平台框架,陪玩系统并发性能测试,小程序源码搭建开发解析
多功能一体游戏陪练、语音陪玩系统的开发涉及前期准备、技术选型、系统设计与开发及测试优化。首先,通过目标用户分析和竞品分析明确功能需求,如注册登录、预约匹配、实时语音等。技术选型上,前端采用Uni-app支持多端开发,后端选用PHP框架确保稳定性能,数据库使用MySQL保证数据一致性。系统设计阶段注重UI/UX设计和前后端开发,集成WebSocket实现语音聊天。最后,通过功能、性能和用户体验测试,确保系统的稳定性和用户满意度。
|
1月前
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
109 15
|
2月前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
500 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
4月前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
本文探讨了如何通过自动化和智能化手段,提升IT运维效率与质量。首先介绍了自动化在简化操作、减少错误中的作用;然后阐述了智能化技术如AI在预测故障、优化资源中的应用;最后讨论了如何构建一个既自动化又智能的运维体系,以实现高效、稳定和安全的IT环境。
112 4
|
4月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
97 4
|
27天前
|
机器学习/深度学习 人工智能 运维
基于AI的自动化事件响应:智慧运维新时代
基于AI的自动化事件响应:智慧运维新时代
100 11
|
3月前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####