文章目录
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框架。