如何在 Robot Framework 中使用 Webdriver 管理器?

How to use Webdriver manager in Robot Framework?

在 selenium 中,我通过命令使用了 webdriver 管理器:

driver = webdriver.Chrome(Chromedrivermanager().install())

是否有用于机器人框架的 webdriver 管理器?我希望 webdriver 管理器在 运行 测试脚本时自动下载而不受额外干扰。

我在互联网上唯一发现的是您需要使用命令安装 webdrivermanager :

pip install webdrivermanager 

并且您在脚本之前启动此命令:

webdrivermanager chrome 
robot --outputdir ./results/Robot-results ./TestSuits/*

注意:您的浏览器 (Chrome) 也必须更新:(Ubuntu)

sudo apt-get update
sudo apt-get install google-chrome-stable

有两个网络驱动程序管理器,如下所示,

  1. 如果你使用这个,你需要在命令行上做一个额外的步骤,你不能继续测试代码,除非你执行下面的命令,因为这是 webdrivermanager 设置的一部分。 webdrivermanager - webdrivermanager 0.7.4

命令行步骤 -

webdrivermanager chrome:2.38 firefox opera:v.2.35
  1. webdriver-manager 2.3.0

您需要执行以下操作才能使用 webdriver-manager,您是否注意到了什么,没有什么需要做任何特定于 webdriver-manager 的事情,利用 robotframework 的好处。不错!!!

代码

1. pip install webdriver-manager robotframework robotframework-seleniumlibrary
(prjenv) 09:37 PM##~::>pip list
Package                        Version
------------------------------ ----------
certifi                        2018.11.29
chardet                        3.0.4
colorama                       0.4.1
configparser                   4.0.2
crayons                        0.3.0
idna                           2.8
pip                            19.2.3
requests                       2.22.0
robotframework                 3.1.2
robotframework-seleniumlibrary 4.1.0
selenium                       3.141.0
setuptools                     40.8.0
urllib3                        1.25.6
webdriver-manager              2.2.0
wheel                          0.32.3
2. create a file sample.robot
***Settings***
Library         SeleniumLibrary

***Test Cases***
Sample Webdriver
        [Tags]  wd0
        [Documentation] Sample invocation using WD
        Open Browser    http://google.com       ff
        Close All Browsers
3. execute the file as follows
robot *.robot

Output
========

(prjenv) 09:38 PM##~::>robot *.robot
==============================================================================
Sam
==============================================================================
Sample Webdriver :: Sample invocation using WD                        | PASS |
------------------------------------------------------------------------------
Sam                                                                   | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output:  /Users/apachemain/output.xml
Log:     /Users/apachemain/log.html
Report:  /Users/apachemain/report.html

就是这样了!!!

在cmd终端中

pip install webdrivermanager webdrivermanager firefox chrome --linkpath /usr/yourdir

至于自动更新,您可以使用最后一个命令创建批处理文件 .bat(只需输入 cmd)(它将自动更新版本)并将其设置为 windows 调度程序

https://www.windowscentral.com/how-create-and-run-batch-file-windows-10

https://www.digitalcitizen.life/how-create-task-basic-task-wizard

我将其与 Robot Framework 一起使用的解决方案是使用 python 我称之为 chromedriversync 的库。

chromedriversync.py:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

def get_chromedriver_path():
    driver_path = ChromeDriverManager().install()
    print(driver_path)
    return  driver_path

然后,在我的机器人框架测试中,我添加

Library  chromedriversync.py

${chromedriver_path}=   chromedriversync.Get Chromedriver Path
Create Webdriver    chrome   executable_path=${chromedriver_path}
Go to  www.google.com

我只是使用 chromedrivermanager 安装方法返回的路径变量,以提供给 Open Browser Robot Framework 关键字。