遇到的問題:
selenium運行測試用例需要打開瀏覽器,在阿里雲centos系統中打開也不能被直觀的看到。不如直接使用無界面運行,打印相關運行日志即可。
解決辦法:
讓用例在Linux環境無界面執行。
代碼如下:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--no-sandbox')#解決DevToolsActivePort文件不存在的報錯
chrome_options.add_argument('window-size=1920x3000') #指定瀏覽器分辨率
chrome_options.add_argument('--disable-gpu') #谷歌文檔提到需要加上這個屬性來規避bug
chrome_options.add_argument('--hide-scrollbars') #隱藏滾動條, 應對一些特殊頁面
chrome_options.add_argument('blink-settings=imagesEnabled=false') #不加載圖片, 提升速度
chrome_options.add_argument('--headless') #瀏覽器不提供可視化頁面. linux下如果系統不支持可視化不加這條會啟動失敗
class webd:
driver = None
@classmethod
def setUpClass(cls,browser):
if cls.driver == None:
cls.driver=webdriver.Chrome(chrome_options=chrome_options)
@classmethod
def tearDownClass(cls):
if cls.driver:
cls.driver.quit()
cls.driver = None