本文共 4090 字,大约阅读时间需要 13 分钟。
1.test fixture:代表了执行用例前的准备工作和用例执行后的清理工作
2.test case:测试用例,是测试的最小单位,一般检查一组输入的相应是否符合预期,用TestCase来帮助实现 3.test suite:经常被翻译成‘测试套件’,是测试用例或者测试套件的集合,一般用来把需要一起执行的用例组合到一起; 4.test runner:用来执行测试用例并输出测试结果的组件。可以是图形界面或者命令行界面运行流程:
代码:
import unittestclass Test1(uinttest.TestCase): def setUp(self): print('hello') def tearDwon(self): print('by') def test_001(self): print('001') def test_002(self): print('002') def test_003(self): print('003')if _name_ == '_main_': unittest.main()
1.创建套件
2.定义测试列表 3.向测试套件中添加测试用例 4.行测试用例,verbosity=2为每一个测试用例输出报告,run的参数是套件代码:
import unittestclass Test1(uinttest.TestCase): def setUp(self): print('hello') def tearDwon(self): print('by') def test_001(self): print('001') def test_002(self): print('002') def test_003(self): print('003')if _name_ == '_main_': # 套件的执行方法 # 创建套件 suit = unittest.TestSuit() #定义一个测试列表 case_list = ['test_001', 'test_002', 'test_003'] for case in case_list: suit.addTest(Test1(case)) # 向测试套件中添加测试用例 suit.addTest(Test1) # 运行测试用例,verbosity=2为每一个测试用例输出报告,run的参数是套件 uinttest.TextTestRunner(verbosity=2).run(suit)
1.断言是测试的核心,我们使用assertEqual()来判断预期结果,用assertTrue()和assertFalse来做是非判断。
2.unittest支持命令行接口,我们可以在命令行指定运行具体的测试用例。
代码:
import unittestclass Test(uinttest.TestCase): def setUp(self): print('start') def tearDwon(self): print('end') # 判断预期值和实际值是否相等 def test_001(self): self.assertEqual('1', '1') print('001') def test_002(self): self.assertEqual('1', '2') print('002') def test_003(self): print('003')if _name_ == '_main_': unittest.main()
from 自动化测试1 imoprt Commonclass Login(Common): def login(self, user, pwd): #跳转到号店 self.open_url('http://www.yhd.com') #定位到登录按钮进行点击,点击之后进入一号店登录界面 self.click('class', 'hd_login_link') #定位并输入账号密码 self.input_data('id','un', user) self.input_data('id', 'pwd', pwd) #点击登录 self.click('class', 'hd_login_link')if _name_ == '_main_': log = Login() log.login('hack_ai_buster', 'lajfadjf')
import unittestfrom 登录模块.Login import Loginclass Testcase(unittest.TestCase): def setUp(self): print('start') def tearDown(self): print('end') # 登录成功的情况 def test_001(self): log = Login() # 正确账号密码登录 log.login('hack_ai_buster', 'lajfadjf') # 获取登录后的用户名 data = log.get_text('class', 'hd_login_name') # 进行断言判断 self.assertEqual('hack_ai_buster', data) # 验证账号密码都不输入直接点击的测试用例 def test_002(self): log = Login() # 正确账号密码登录 log.login('', '') # 获取登录后的用户名 data = log.get_text('id', 'error_tips') # 进行断言判断 self.assertEqual('请输入账号和密码', data) # 不输入密码直接点击的测试用例 def test_003(self): log = Login() # 正确账号密码登录 log.login('dfawfa', '') # 获取登录后的用户名 data = log.get_text('id', 'error_tips') # 进行断言判断 self.assertEqual('请输入密码', data) def test_004(self): log = Login() # 正确账号密码登录 log.login('dfawfa', '') # 获取登录后的用户名 data = log.get_text('id', 'error_tips') # 进行断言判断 self.assertEqual('请输入密码itcast', data) if _name_ == '_main_': unittest.main()
import unittestfrom 测试用例 import Testcaseclass Test(unittest.TestCase): def test_suit(self): # 创建测试套件 mysuit = unittest.TestSuit() # 向测试套件中添加测试用例 case_list = ['test_001', 'test_002', 'test_oo3', 'test_004'] for case in case_list: mysite.addTest(Testcase(case)) # 使用runner运行测试用例 unittest.TextTestRunner(verbosity=2).run(mysuit)if _name_ == '_main_': unittest.main()
import unittestfrom 测试用例 import Testcaseimport HTMLTestRunnerclass Test(unittest.TestCase): def test_suit(self): # 创建测试套件 mysuit = unittest.TestSuit() # 向测试套件中添加测试用例 case_list = ['test_001', 'test_002', 'test_oo3', 'test_004'] for case in case_list: mysite.addTest(Testcase(case)) # 使用runner运行测试用例 # unittest.TextTestRunner(verbosity=2).run(mysuit) #生成html格式的测试报告文件 with open('路径/report.html', 'wb') as f: HTMLTestRunner( stream = f, # 设定数据写入哪个文件 title = '第一个测试报告', # 标题 description = 'itcast软件测试', #描述 verbosity = 2 ).run(mysuit)if _name_ == '_main_': unittest.main()
转载地址:http://rwjmf.baihongyu.com/