0

我们使用 Robotframework Ride 1.7.4 / Python 2.7 环境开发了一些测试,并且测试运行正常。

我们现在使用 Robotframework Ride v2.0b1 / Python 3.8.4 创建了一个新环境,以下命令不再按预期工作。

两种环境都使用robotframework 3.2.1

${options}=    Create Dictionary    binary=C:/path_to_application/application_name.exe
${caps}=    Create Dictionary    chromeOptions=${options}
Create Webdriver    Chrome    desired_capabilities=${caps}

[Arguments]    ${url}
${options}=    Create Dictionary    androidPackage=com.android.chrome
${caps}=    Create Dictionary    chromeOptions=${options}
Create Webdriver    Chrome    desired_capabilities=${caps}

我们正在尝试使用 robotsframework 测试“应用程序”。

我们没有启动 application_name.exe(在 windows app 的情况下)或模拟的 android 客户端(在 android 包的情况下),而是出现了一个 chrome 浏览器(错误消息见下文)

我们已安装的部分库列表(新环境)

robotframework                  3.2.1
robotframework-appiumlibrary    1.5.0.6
robotframework-archivelibrary   0.4.0
robotframework-autoitlibrary    1.2.5
robotframework-difflibrary      0.1.0
robotframework-eyes             1.3.3
robotframework-lint             1.1
robotframework-pabot            1.8.0
robotframework-ride             2.0b1
robotframework-selenium2library 3.0.0
robotframework-seleniumlibrary  4.4.0
robotframeworklexer             1.1
robotremoteserver               1.1
selenium                        3.141.0
setuptools                      41.2.0
six                             1.15.0
soupsieve                       2.0.1
tqdm                            4.47.0
urllib3                         1.25.9
webdriver-manager               3.2.1
webdrivermanager                0.8.0
Werkzeug                        1.0.1
wheel                           0.34.2
wxPython                        4.0.7.post2

chromedriver.exe 是最新版本(适用于 Chrome 84)

我曾尝试使用旧版本的 chromedriver,但这并没有解决问题。

“工作”环境中使用的库

robotframework                  3.2.1
robotframework-archivelibrary   0.4.0
robotframework-databaselibrary  1.2
robotframework-difflibrary      0.1.0
robotframework-eyes             0.64
robotframework-lint             0.9
robotframework-pabot            0.44
robotframework-ride             1.7.4.2
robotframework-selenium2library 3.0.0
robotframework-seleniumlibrary  4.4.0
robotframeworklexer             1.1
robotremoteserver               1.1
selenium                        3.141.0
setuptools                      20.10.1
six                             1.12.0
urllib3                         1.25.10
Werkzeug                        0.15.0
wxPython                        4.0.4

谢谢

格温

我已经简化了一些事情,只需从命令行机器人 test.robot 运行几行 .robot 代码(test.robot 包含上述行和 selenium 库参考)

新环境显示如下错误

DevTools listening on ws://127.0.0.1:56934/devtools/browser/426cb694-b5e1-4cc7-ad64-1f47db368449
.[10456:14676:0723/141008.354:ERROR:device_event_log_impl.cc(208)] [14:10:08.358] Bluetooth: bluetooth_adapter_winrt.cc:1074 Getting Default Adapter failed.
Launch Windows NativeApp                                              | FAIL |
Element 'logo' did not appear in 15 seconds.
4

2 回答 2

0

最初的问题是将 Robot Framework IDE (RIDE) 的版本与框架本身的版本混合在一起。

您要解决的问题是,Robot Framework 测试套件脚本在 Python 2.7 配置中运行,而现在在 Python 3.8 配置中无法运行。

您需要确保您在 Python 2.7 中的配置仍然有效,并记下那里安装的库的版本。然后在 Python 3.8 上做同样的事情(你已经展示了这些)。

此确认与您用于编辑测试套件脚本的 IDE 或编辑器无关。只需专注于从命令窗口/提示符/终端/shell 运行它。

RIDE 1.7.4.2 可用于运行安装在 Python 2.7 或 3.8 中的 Robot Framework。

安装在 Python 3.8 上的 RIDE 2.0b1 也是如此,它可以运行安装在 Python 2.7 或 3.8 中的 Robot Framework。这完全取决于在 PATH 环境变量中首先找到的 Robot Framework 安装。或者换句话说,robot当您打开命令窗口/提示符/终端/shell 并发出命令时的实际情况,例如:robot --version.

您提到的另一件事是 Appium 无法使用您使用的命令样式。该选项binary旨在将 chromedriver 或其他 webdriver 的路径传递给 Webdriver,例如operadriver。我从来没有见过用它来启动手机应用程序。看起来像 chromedriver,只是忽略了该binary选项(因为它不需要它)。

于 2020-07-23T01:07:48.130 回答
0

通过确保我们在“新”环境中的路径中只有 chromedriver v37 来解决。更高版本的 Chromedriver(我试过 v79 和 v84)不起作用。

于 2020-07-24T22:44:19.773 回答