在作web网页测试的时候,功能测试阶段不单单只使用一种浏览器,须要拿多个浏览器进行测试,这就是咱们常说的网页版的兼容性测试,那么咱们在作web自动化的时候,如何使用多个浏览器呢?有的朋友说直接改启动浏览器类型,这种要求太慢,若是在公司这样干,确定会被公司请回家的,那么咱们考虑经过多线程的方法进行启动浏览器,而后来帮助咱们执行用例。web
这里简单的列举下安静如何启动多个浏览器,这里先把思路进行列出来,根据思路进行一步步写chrome
一、先把浏览器驱动单独封装起来,调用时,直接选取对应的驱动浏览器
二、把想要执行的用例进行也单独封装起来。多线程
三、经过多线程进行调用封装的用例,每启动1次线程,就运行一次用例。app
四、把多个浏览器的名称列举出来,经过循环的方式把浏览器参数传入到用例中。从而进行执行用例学习
这里安静对简单的几种浏览器驱动进行了封装,经过传参为浏览器的名称进行选择浏览器类型。而后把对应的驱动进行返回出去测试
def Browser(browser): driver = None if browser == "ie": driver = webdriver.Ie() elif browser == "firefox": driver = webdriver.Firefox() elif browser == "chrome": driver = webdriver.Chrome() else: print('输入的正确的浏览器信息') return driver
这里为了简单,安静也只是简单的封装了百度查询的用例spa
def test_baidu(browser_name): driver = Browser(browser_name) driver.get('https://www.baidu.com') driver.find_element_by_id('kw').send_keys('测试-安静') driver.find_element_by_id('su').click() print(driver.title) print('经过浏览器:%s'%browser_name)
封装了一个线程,经过传入参数来获取浏览器的类型firefox
def run_case(name): thread_list = [] for i in range(1): appium_server = threading.Thread(target=test_baidu,args=(name,)) thread_list.append(appium_server) for j in thread_list: j.start()
# coding:utf-8 from selenium import webdriver import threading def Browser(browser): driver = None if browser == "ie": driver = webdriver.Ie() elif browser == "firefox": driver = webdriver.Firefox() elif browser == "chrome": driver = webdriver.Chrome() else: print('输入的正确的浏览器信息') return driver def test_baidu(browser_name): driver = Browser(browser_name) driver.get('https://www.baidu.com') driver.find_element_by_id('kw').send_keys('测试-安静') driver.find_element_by_id('su').click() print(driver.title) print('经过浏览器:%s'%browser_name) def run_case(name): thread_list = [] for i in range(1): appium_server = threading.Thread(target=test_baidu,args=(name,)) thread_list.append(appium_server) for j in thread_list: j.start() if __name__ == '__main__': a = ('chrome','firefox') for i in a: run_case(i)
安静这里就不放动图了,你们能够本身去尝试下,封装的并非很好地代码,若是你有更好的方法,能够在下方留言,共同窗习线程