python+selenium多線程啟動多個不同瀏覽器


前言
如果想用多個瀏覽器跑同一套測試代碼,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)


免責聲明!

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



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