在作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)
安靜這裏就不放動圖了,你們能夠本身去嘗試下,封裝的並非很好地代碼,若是你有更好的方法,能夠在下方留言,共同窗習線程