zoukankan      html  css  js  c++  java
  • 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就行了。

  • 相关阅读:
    第四次作业--项目选题报告(团队)
    第三次作业--团队展示(团队)
    第二次作业——个人项目实战
    2017软件工程实践
    Unity3D游戏开发——显示物品的仓库UI
    Unity3D游戏开发——物品存储:List与Dictionary
    Unity3D游戏开发——编程实现游戏管理器
    Unity3D游戏开发——访问集中式共享模块的设计模式
    Unity3D游戏开发——收集当前关卡游戏中分散的物件
    福州大学软工1816 K 班助教总结
  • 原文地址:https://www.cnblogs.com/simple-free/p/12061762.html
Copyright © 2011-2022 走看看