selenium+python自動化92-多線程啟動多個不同瀏覽器


前言

如果想用多個瀏覽器跑同一套測試代碼,driver=webdriver.Firefox()這里的driver就不能寫死了,可以把瀏覽器名稱參數化。
后續如果想實現多線程同時啟動瀏覽器執行用例,用前面講的tomorrow模塊,設置下線程數套用下就可以了

啟動瀏覽器

1.為了實現多個瀏覽器的靈活切換,可以把啟動瀏覽器寫一個函數,參數用瀏覽器名稱就行了

def startBrowser(name):
    """
    打開瀏覽器函數,"firefox"、"chrome"、"ie"、"phantomjs"
    """
    try:
        if name == "firefox" or name == "Firefox" or name == "ff":
            print("start browser name :Firefox")
            driver = webdriver.Firefox()
            return driver
        elif name == "chrome" or name == "Chrome":
            print("start browser name :Chrome")
            driver = webdriver.Chrome()
            return driver
        elif name == "ie" or name == "Ie":
            print("start browser name :Ie")
            driver = webdriver.Ie()
            return driver
        elif name == "phantomjs" or name == "Phantomjs":
            print("start browser name :phantomjs")
            driver = webdriver.PhantomJS()
            return driver
        else:
            print("Not found this browser,You can use 'firefox', 'chrome', 'ie' or 'phantomjs'")
    except Exception as msg:
        print("啟動瀏覽器出現異常:%s" % str(msg))
        

多線程啟動不同瀏覽器

1.代碼參考:

# coding:utf-8
from selenium import webdriver
import time
from tomorrow import threads

def startBrowser(name):
    """
    打開瀏覽器函數,"firefox"、"chrome"、"ie"、"phantomjs"
    """
    try:
        if name == "firefox" or name == "Firefox" or name == "ff":
            print("start browser name :Firefox")
            driver = webdriver.Firefox()
            return driver
        elif name == "chrome" or name == "Chrome":
            print("start browser name :Chrome")
            driver = webdriver.Chrome()
            return driver
        elif name == "ie" or name == "Ie":
            print("start browser name :Ie")
            driver = webdriver.Ie()
            return driver
        elif name == "phantomjs" or name == "Phantomjs":
            print("start browser name :phantomjs")
            driver = webdriver.PhantomJS()
            return driver
        else:
            print("Not found this browser,You can use 'firefox', 'chrome', 'ie' or 'phantomjs'")
    except Exception as msg:
        print("啟動瀏覽器出現異常:%s" % str(msg))

@threads(5)
def run_case(name):
    driver = startBrowser(name)
    driver.get("https://www.cnblogs.com/yoyoketang/")
    time.sleep(3)
    print(driver.title)
    driver.quit()

if __name__ == "__main__":
    names = ["chrome", "ff", "ie"]
    for i in names:
        run_case(i)

2.運行結果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM