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

相关文章
|
13天前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
61 8
|
5天前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
23 7
|
18天前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
18天前
|
数据管理 jenkins 测试技术
自动化测试框架的设计与实现
在软件开发周期中,测试是确保产品质量的关键步骤。本文通过介绍自动化测试框架的设计原则、组件构成以及实现方法,旨在指导读者构建高效、可靠的自动化测试系统。文章不仅探讨了自动化测试的必要性和优势,还详细描述了框架搭建的具体步骤,包括工具选择、脚本开发、执行策略及结果分析等。此外,文章还强调了持续集成环境下自动化测试的重要性,并提供了实际案例分析,以帮助读者更好地理解和应用自动化测试框架。
|
18天前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
|
2月前
|
Java 测试技术 C#
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!
|
2月前
|
Web App开发 IDE 测试技术
自动化测试的利器:Selenium 框架深度解析
【10月更文挑战第2天】在软件开发的海洋中,自动化测试犹如一艘救生艇,让质量保证的过程更加高效与精准。本文将深入探索Selenium这一强大的自动化测试框架,从其架构到实际应用,带领读者领略自动化测试的魅力和力量。通过直观的示例和清晰的步骤,我们将一起学习如何利用Selenium来提升软件测试的效率和覆盖率。
|
1月前
|
Web App开发 设计模式 JavaScript
自动化测试之美:如何利用Selenium实现Web应用的高效测试
【10月更文挑战第29天】在软件开发的世界中,测试是确保产品质量的关键步骤。本文将带你了解如何使用Selenium这一强大的自动化测试工具,提高Web应用测试的效率和准确性。通过实际案例,我们将探索Selenium的核心功能及其在现代软件开发中的应用,旨在帮助读者掌握自动化测试的精髓,从而提升软件测试工作的整体效能。
44 0
|
2月前
|
测试技术 数据安全/隐私保护 开发者
自动化测试的奥秘:如何用Selenium和Python提升软件质量
【9月更文挑战第35天】在软件开发的海洋中,自动化测试是那艘能引领我们穿越波涛的帆船。本文将揭开自动化测试的神秘面纱,以Selenium和Python为工具,展示如何构建一个简单而强大的自动化测试框架。我们将从基础出发,逐步深入到高级应用,让读者能够理解并实现自动化测试脚本,从而提升软件的质量与可靠性。
|
3月前
|
Web App开发 JavaScript Java
自动化测试的利剑:Selenium WebDriver入门与实践
【9月更文挑战第21天】在软件开发的海洋中,自动化测试犹如一艘船,帮助开发者们快速航行至质量保证的彼岸。本文将作为你的罗盘,指引你了解和掌握Selenium WebDriver这一强大的自动化测试工具。通过深入浅出的方式,我们将探索Selenium WebDriver的基本概念、安装过程以及编写简单测试脚本的方法。无论你是刚接触自动化测试的新手,还是希望提升测试技能的开发者,这篇文章都将为你提供有价值的指导。
下一篇
DataWorks