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

(一)在RF中自定義chrome啓動參數python

這裏主要是實現下面2個功能web

一、禁用chrome正受自動測試軟件控制的提示chrome

二、設置默認的下載路徑(一些導出、下載類的功能,將文件下載到指定路徑下)瀏覽器

自定義一個關鍵字測試

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的路徑。ui

 

*** 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

 

總體的目錄結構以下:url

(二)若是要在實際項目中使用selenium  gridspa

   若是要在實際項目中使用selenium  gird,能夠在上面的基礎上稍微修改下。這裏必須在繼承SeleniumLibrary庫的基礎上進行修改,我再下篇說明吧。code

(三)python 的pythonpathblog

最後簡單說明下,python有個搜索路徑的概念,若是提示no keyword,而你又確實寫了這個關鍵字,那麼多是庫不在python的搜索路徑裏面。

經過  import sys   sys,path 能夠看到本身的搜索路徑有哪些。

沒有的話就新建一個環境變量,名稱:PYTHONPATH   值:工程的路徑。  環境變量加好後,重啓下IDE就好了。

相關文章
相關標籤/搜索