使用 Robot Framework 调用 Open Browser 时无法设置所需的功能

Posted

技术标签:

【中文标题】使用 Robot Framework 调用 Open Browser 时无法设置所需的功能【英文标题】:Unable to set desired capabilities when calling Open Browser with Robot Framework 【发布时间】:2016-07-28 22:45:25 【问题描述】:

在为 IE 指定所需功能时,我无法调用关键字“打开浏览器”。我不确定这是否是语法问题,但我尝试了很多方法,也搜索了谷歌,但几乎没有帮助。

*** Variables ***
$DESIRED_CAPABILITIES  ignoreProtectedModeSettings:$True
Open Browser  $URL  $BROWSER TYPE Non http://127.0.0.1:4444/wd/hub  $DESIRED_CAPABILITIES

通常它会抛出错误'java.lang.IllegalArgumentException:参数类型不匹配'

我也试过

&DESIRED_CAPABILITIES  Create Dictionary  ignoreProtectedModeSettings=$True

或者如果有办法在java中设置功能,然后调用Open Browser?或者甚至设置功能并在 java 中启动浏览器并与机器人共享该 webdriver 实例以使用关键字?

非常感谢任何帮助。谢谢!

【问题讨论】:

【参考方案1】:

我会尝试更清楚和明显地说明哪个参数可以避免潜在问题,例如“非”你的别名在那里?在这种情况下,浏览器类型变量只是传入 IE?我认为您所做的事情并没有太大的问题,所以希望只是争论问题。

这是一个希望能有所帮助的例子:

 Open Browser    $URL   $browser         remote_url=$saucelabs-remote-url         desired_capabilities=$saucelabs-DESIRED-CAP

$saucelab-DESIRED-CAP        name:$saucelab-test,platform:$saucelab-platform,saucelab-public:$saucelab-public,browserName:$browser,version:$saucelab-version

【讨论】:

【参考方案2】:

我正在编写以下格式,假设您正在使用 Robot Framework 并且您有权在 IE 浏览器中编辑 Internet 选项

请按照以下步骤操作,这可能会解决您的大部分问题。如果您的浏览器有代理设置,请从第 1 步开始,否则您可以从第 3 步开始

1.我在IE中启用了代理。

2.在启动浏览器之前(即开始执行测试用例之前)设置环境变量no_proxy为127.0.0.1 例如:设置环境变量no_proxy 127.0.0.1

3. 将所有 Internet 区域设置为相同级别(中到高)除了受限站点打开浏览器>工具>Internet 选项>安全选项卡

4.在所有区域中启用“启用保护模式”

完成上述步骤后,现在使用“打开浏览器”开始在 IE 中运行脚本

【讨论】:

以上是关于使用 Robot Framework 调用 Open Browser 时无法设置所需的功能的主要内容,如果未能解决你的问题,请参考以下文章

使用 Robot Framework 调用 Open Browser 时无法设置所需的功能

Robot Framework之Remote—实战

Robot Framework之Remote—实战

Robot Framework之Remote—实战

您可以在 Robot Framework 的命令行调用中指定资源文件吗

Robot Framework之Remote—基本原理介绍