selenium-webdriver用例批量运行和测试套件使用 ------之我见

时间:2022-05-30 22:50:32

用例批量运行和测试套件使用 ------之我见

学习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这两条用例了。

以上就是我的理解,希望大家能够给我指正!

selenium-webdriver用例批量运行和测试套件使用 ------之我见