selenium 多瀏覽器處理
阿新 • • 發佈:2021-06-27
開頭
當我們做多瀏覽器自動化測試的時候,需要很多不同的瀏覽器,所以不同的引數對應不同的瀏覽器操作
目錄結構
新建一個 base.py 檔案, 通過 os 捕獲到從命令列傳進來的
import pytest import time from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions from selenium.webdriver.common.by import By from selenium.webdriver import ActionChains from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.keys import Keys from selenium.webdriver import TouchActions import os class Base(): def setup(self): browser = os.getenv("browser") if browser == 'edag': print('我是edag的驅動') # self.driver = webdriver.Edge() else: self.chrome_options = Options() self.chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222") # 指定配置好的 chrom self.chrome_options.add_experimental_option("w3c", False) self.chrome_driver = r"./chromedriver.exe" # 驅動路徑 self.driver = webdriver.Chrome(self.chrome_driver, chrome_options=self.chrome_options) # 加入驅動設定 # self.driver.get('https://sahitest.com/demo/clicks.htm') # 發起請求 # self.driver.maximize_window() # 設定為最大化 self.driver.implicitly_wait(3) # 新增一個隱式等待預設等待3秒 def teardown(self): print('關閉瀏覽器') # time.sleep(1) # self.driver.quit()
新建一個 test_brow.py 檔案,然後繼承Base
from base import Base
import time
import pytest
class TestBrowser(Base):
def test_brow(self):
url = 'https://www.baidu.com/'
self.driver.get(url)
在命令列中執行
browser=edag pytest -vs test_move.py
就可以將瀏覽器引數傳進去