【问题标题】:Robot framework - how to work with developer tools in chrome during test run?机器人框架 - 如何在测试运行期间使用 chrome 中的开发人员工具?
【发布时间】:2017-07-26 09:43:20
【问题描述】:

在机器人测试运行期间是否有可能让开发工具(检查器)保持打开状态? 我在我的“半自动化”测试中加入了一个手动步骤,在该测试中我打开了开发工具 (F12),但是在单击 PASS 以获取 Execute Manual Step 之后,其他自动化步骤会随之而来,并且开发工具会立即自动关闭。 只是概述我的测试结构:

Semi-automated robot test
    do some automated steps
    execute manual step     open developers console
    do some other automated steps
    execute manual step     check something in dev console

我不知道如何在机器人测试期间处理开发工具。即使我在手动步骤中在单独的窗口中打开开发工具,它仍然在自动步骤中关闭...

感谢您的任何想法:-)

【问题讨论】:

  • 为什么需要让 devconsole 保持打开状态?在测试运行期间您到底想检查什么?
  • 我需要检查一些填写网络选项卡的请求,如果我在步骤完成后打开它,什么都没有..

标签: python selenium google-chrome selenium-webdriver robotframework


【解决方案1】:

作为@Guy 答案的示例,您可以使用Robot Framework 中的Dialogs

*** Settings ***
Library    Dialogs

*** Test Cases ***
test case
   Pause Execution    Please Press OK to Continue. 

这将显示以下警报类型的框。

【讨论】:

  • 我正在使用 Dialogs 进行手动步骤执行,但是这个命令对我没有帮助,因为我不想暂停执行,我需要执行自动化步骤......正如 Guy 提到的,没有真正的方法来做我需要的和我需要的。因为我需要在自动执行步骤期间检查开发工具...
【解决方案2】:

如果您只想获取有关在您的Seelenium 测试运行期间发送的HTTP-requests 的信息,您可能需要添加以下代码,这将不断打印出包含所需信息的日志:

import logging
import http.client as client

client.HTTPConnection.debuglevel = 1
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
requests_log = logging.getLogger("selenium.webdriver.remote.remote_connection")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True

【讨论】:

    【解决方案3】:

    这是不可能的。来自ChromeDriver help center

    当你打开 DevTools 窗口时,ChromeDriver 会自动 断开连接。当 ChromeDriver 收到命令时,如果断开连接, 它将尝试关闭 DevTools 窗口并重新连接。

    如果您需要在 DevTools 中检查某些内容,您现在可以做的最好的事情 暂停您的测试,以便 ChromeDriver 不会关闭 DevTools。当你 在 Chrome 中完成检查后,您可以取消暂停测试并 ChromeDriver 将关闭窗口并继续。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-03
      • 2021-02-10
      • 2012-02-24
      • 2016-05-22
      • 2022-09-23
      • 2018-03-30
      • 2020-04-23
      • 2016-12-31
      相关资源
      最近更新 更多