(一)在RF中自定義chrome啟動參數
這里主要是實現下面2個功能
1、禁用chrome正受自動測試軟件控制的提示
2、設置默認的下載路徑(一些導出、下載類的功能,將文件下載到指定路徑下)
自定義一個關鍵字
from selenium.webdriver.chrome.options import Options class MyKeyword(): def get_chrome_options(self,downloads_path): ''' 自定義chrome啟動參數 :param downloads_path: 設置默認的文件下載路徑 :return: ''' chrome_options = Options() prefs = { "download.default_directory":str(downloads_path), } chrome_options.add_experimental_option('prefs',prefs) #設置默認的文件下載路徑 chrome_options.add_argument('disable-infobars') #chrome76以下禁用chrome受自動軟件控制 #下面2行chrome76及以上禁用chrome受自動軟件控制 chrome_options.add_experimental_option("useAutomationExtension", False) chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"]) return chrome_options
在RF的登錄中引用這個自定義的關鍵字,執行的時候如果提示找不到關鍵字GET CHROME OPTIONS,加一個環境變量PYTHONPATH, value就是python project的路徑。
*** Settings *** Library SeleniumLibrary Library mykeyword.mykeyword.MyKeyword Suite Teardown CLOSE BROWSER *** Variables *** ${browser} Chrome ${login_url} https://account.cnblogs.com/signin *** Test Cases *** 登錄-XXXXXX 登錄-打開瀏覽器並進入登錄頁面 *** Keywords *** 登錄-打開瀏覽器並進入登錄頁面 ${options}= GET CHROME OPTIONS D:/projectname/testdata/downloads CREATE WEBDRIVER ${browser} chrome_options=${options} GO TO ${login_url} SET SELENIUM IMPLICIT WAIT 10 MAXIMIZE BROWSER WINDOW
整體的目錄結構如下:
(二)如果要在實際項目中使用selenium grid
如果要在實際項目中使用selenium gird,可以在上面的基礎上稍微修改下。這里必須在繼承SeleniumLibrary庫的基礎上進行修改,我再下篇說明吧。
(三)python 的pythonpath
最后簡單說明下,python有個搜索路徑的概念,如果提示no keyword,而你又確實寫了這個關鍵字,那么可能是庫不在python的搜索路徑里面。
通過 import sys sys,path 可以看到自己的搜索路徑有哪些。
沒有的話就新建一個環境變量,名稱:PYTHONPATH 值:工程的路徑。 環境變量加好后,重啟下IDE就行了。