【问题标题】:Robotframework: Create Webdriver reports bluetooth_adapter_winrt.cc errorRobotframework:创建 Webdriver 报告 bluetooth_adapter_winrt.cc 错误
【发布时间】:2020-11-12 06:21:03
【问题描述】:

我们使用 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}

我们正在尝试使用机器人框架测试“应用程序”。

我们没有启动 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.

【问题讨论】:

  • 标题说您使用的是机器人 2.0,但在库列表中它说您使用的是 3.2.1。你能澄清一下吗? 2.0 版太旧了,可能不应该使用。
  • @BryanOakley OP 正在与最近发布的 RIDE v2.0b1 混淆。我将提出一些修改建议。
  • 现在我看到 OP 正在谈论 RIDE 1.7.4.2。我们不知道Robot Framework的python 2.7安装了哪个版本。
  • 新编辑后,问题还是有一些问题。至少有两个问题。一种是将机器人与桌面应用程序一起使用,另一种是与 Appium 一起使用。在新的工作环境列表中,您不会显示 AppiumLibrary。就像我在回答中解释的那样,这个令人困惑的问题是从提到 RIDE 开始的,它不参与问题。如果您针对每个问题拆分此问题,那将非常有帮助。制作一个小的可重现测试用例,我们都可以重现,并使用已知的 Windows 应用程序。关于Appium,测试:模拟器不能使用蓝牙。
  • 已解决。在新环境中,我的路径中有多个版本的 chromedriver。使用 chromedriver 版本 37(我们在我们的工作机器上)解决了新环境中的问题。 chromedriver以后版本不行,我试过v79和v84

标签: selenium-chromedriver robotframework chrome-options


【解决方案1】:

最初的问题是将 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 安装。或者换句话说,当您打开命令窗口/提示符/终端/shell 并发出命令时,实际的robot,例如:robot --version

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-19
      • 1970-01-01
      • 1970-01-01
      • 2014-02-26
      • 1970-01-01
      相关资源
      最近更新 更多