软件的安装
测试固件:比如打开、关闭浏览器setup()、teardown();
断言:期望结果;
Unitest测试用例必须test开头
测试类中有多个测试用例时,想要执行其中某一个用例,鼠标放到对应用例上,右键点击执行,就只执行这个测试用例。
如下:每执行一个用例需要打开、关闭一次浏览器
import unittest from selenium import webdriver class SinaMailTest(unittest.TestCase): '''Up大写啊,切记''' def setUp(self): self.driver = webdriver.Firefox() self.driver.maximize_window() # self.driver.implicitly_wait(30) self.driver.get('https://mail.sina.com.cn/') def tearDown(self): self.driver.close() def test_sina_islogin(self): '''bool类型验证,验证新浪邮箱是否默认登录,is_selected代表已勾选,若未勾选,再返回值为false''' islogin=self.driver.find_element_by_id('store1').is_selected() self.assertTrue(islogin) def test_sina_issecret(self): '''BOOL类型验证,验证是否加密已勾选''' issecret=self.driver.find_element_by_id('ssl1').is_selected() self.assertTrue(issecret) if __name__ == '__main__': unittest.main(verbosity=2)
用类方法@clssmethod,使用例执行只需打开、关闭一次浏览器、
import unittest from selenium import webdriver import time as t class BaiduTest(unittest.TestCase): @classmethod def setUpClass(cls): cls.driver = webdriver.Firefox() cls.driver.maximize_window() cls.driver.implicitly_wait(30) cls.driver.get('http://www.baidu.com') @classmethod def tearDownClass(cls): cls.driver.close() def test_baidu_so(self): '"搜索业务,测试百度的搜索"' self.driver.find_element_by_id('kw').send_keys('selenium') '''测试固件只打开关闭一次,每次执行后回到首页''' self.driver.get('http://www.baidu.com') def test_baidu_news(self): '''进入百度新闻''' self.driver.find_element_by_link_text('新闻').click() t.sleep(3) '''测试固件只打开关闭一次,每次执行后回到首页''' self.driver.get('http://www.baidu.com') if __name__ == '__main__': # '''对testsuite进行实例化''' # suite=unittest.TestSuite() # suite.addTest(BaiduTest('test_baidu_so')) # suite.addTest(BaiduTest('test_baidu_news')) # unittest.TextTestRunner(verbosity=2).run(suite) '''按照测试类进行执行''' suite=unittest.makeSuite(BaiduTest) unittest.TextTestRunner(verbosity=2).run(suite)
注意:使用类方法时,每执行完一个用例,需要初始化回到首页,不然执行会报错