robot framework筆記(二):在RF中自定義chrome啟動參數


(一)在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就行了。


免責聲明!

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



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