selenium,测试套件的使用
学习 selenium-webdriver 已经一段时间了,最近学习到,测试用例的批量执行,和测试套件的使用,有点自己的理解,不晓得对不对,希望大家指正!
写一个测试用例 baidu.py
class Baidu(unittest.TestCase): def setUp(self): self.driver=webdriver.Firefox() self. base_url='http:www.baidu.com' def test_search(self): driver=self.driver driver.get(self.base_url+'/') driver.find_element_by_id('kw').send_keys('cnblogs') driver.find_element_by_id('su').click() def test_login(self): driver=self.driver driver.get(self.base_url+'/') dr.find_element_by_name('userName').clear() dr.find_element_by_name('userName').send_keys('user') dr.find_element_by_name('password').clear() dr.find_element_by_name('password').send_keys('123456') dr.find_element_by_id('TANGRAM__PSP_26__submit').click() def tearDown(self): self.driver.quit()
1.批量执行,不使用测试套件的好处
批量执行的时候,我们在一个测试文件里面执行该文件里面的 n 条测试用例,如上面 baidu.py
这个文件,我们可以执行执行:
if __name__=="__main__": suite=unittest.TestSuite() suite.addTest(Baidu("test_search")) suite.addTest(Baidu("test_login")) runner=unittest.TextTestRunner() runner.run(suite)
这样你可以在一个文件里面执行所有的用例,也可以执行自己想要执行的那条用例,使用“#”,可
以注释掉当前不需要执行的那条用例
2.使用测试套件的好处
使用测试套件,我们需要重新建立一个专门执行用例的文件 如 run_case.py
import unittest from baidu import Baidu ......... #导入相关模块 suite=unittest.TestSuite() suite.addTest(unittest.makeSuite(baidu.Baidu))runner=unittest.TextTestRunner() runner.run(suite)
这样你可以在里面添加一条语句,就可以执行整个文件里面的 case,如
suite.addTest(unittest.makeSuite(baidu.Baidu)) 这样就可以执行整个 baidu.py 里面的
test_search,test_login 这两条用例了。
以上就是我的理解,希望大家能够给我指正!