selenium之unittest的简单用法(二)
2017-08-28 15:58
225 查看
一、unittest 的执行顺序
很多初学者在使用 unittest 框架时候,不清楚用例的执行顺序到底是怎样的。对测试类里面的类和方法分不清楚,不知道什么时候执行,什么时候不执行。
本篇通过最简单案例详细讲解 unittest 执行顺序。
二、案例分析
1.先定义一个测试类,里面写几个简单的 case#-*- coding:utf-8 -*- import unittest from selenium import webdriver from selenium.webdriver.support import expected_conditions as EC import time class Test(unittest.TestCase): def setUp(self): print "开始" def tearDown(self): time.sleep(1) print "结束" def test01(self): print "01测试" def test02(self): print "02测试" def testadd(self): print "add方法" def test03(self): print "03测试" if __name__ == '__main__': unittest.main()
2.执行结果:
C:\Python27\python.exe F:/pycharm-workspace/Django_Test/test2.py 开始 01测试 结束 开始 02测试 ..结束 开始 03测试 .结束 开始 add方法 . ---------------------------------------------------------------------- Ran 4 tests in 4.001s OK 结束 Process finished with exit code 0
3.结果分析
1).执行顺序:
开始-执行测试用例 01-结束
开始-执行测试用例 02-结束
开始-执行测试用例 03-结束
开始-执行测试用例add方法-结束
2).从执行结果可以看出几点
–先执行的前置 setUp,然后执行的用例(test*),最后执行的后置 tearDown
–测试用例(test*)的执行顺序是根据 01-02-03 执行的,也就是说根据用例名称来顺序执行的
三、selenium 实例
#-*- coding:utf-8 -*- import unittest from selenium import webdriver from selenium.webdriver.support import expected_conditions as EC import time class bolg(unittest.TestCase): u'''登录博客''' def setUp(self): self.driver = webdriver.Chrome() self.driver.get("https://passport.csdn.net/?service=http://write.blog.csdn.net/postedit?ref=toolbar") self.driver.implicitly_wait(10) def login(self,username,password): u'''这里写一个登录的方法,账号和密码参数化''' self.driver.find_element_by_id('username').send_keys(username) self.driver.find_element_by_id('password').send_keys(password) self.driver.find_element_by_class_name('logging').click() time.sleep(2) def is_login_sucess(self): u'''判断是否获取到登录账号''' try: text = self.driver.find_element_by_class_name('user_name').text print text return True except: return False def test_01(self): u'''登录案例参考:账号,密码''' self.login('MTbaby','123456') #调用登录方法 #判断结果 result = self.is_login_sucess() self.assertTrue(result) def test_02(self): #这里写两遍的目的是为了说明装饰器的好处,具体在后面的文字会涉及 u'''登录案例参考:账号,密码''' self.login('MTbaby','123456') result = self.is_login_sucess() self.assertTrue(result) def tearDown(self): self.driver.quit() if __name__ == '__main__': unittest.main()
执行结果:
C:\Python27\python.exe F:/pycharm-workspace/Django_Test/test2.py MTbabyMTbaby的博客 .MTbabyMTbaby的博客 . ---------------------------------------------------------------------- Ran 2 tests in 90.184s OK Process finished with exit code 0
相关文章推荐
- selenium之unittest的简单用法(一)
- Python+selenium之简单介绍unittest单元测试框架
- selenium一个完整的unittest测试框架格式(单线程,非测试报告)
- Python+selenium+unittest的GUI自动化框架实现
- Python+Selenium框架设计篇之9-unittest执行脚本方法之makeSuite()
- Selenium with Python 010 - unittest 框架(又称PyUnit 框架)
- selenium--unittest定位元素内容为空时模拟鼠标点击的方法
- ExampleUnitTest的用法
- python selenium 使用unittest 示例
- python unittest简单总结
- python selenium --unittest 框架
- 一个简单地C++ Unit Test framework
- (selenium 六)unittest通过测试套件组织用例 (2)
- selenium之unittest 装饰器
- Python+Selenium框架-unittest执行脚本方法之addTest
- selenium-Python之unittest(四)
- python3.5+selenium3.4自动化测试9_selenium框架2.0-unittest(上)
- Using Selenium 2 ( WebDriver ) to run qUnit test page
- unittest单元测试框架简单说明
- selenium之unittest批量执行测试用例、生成html报告