机器人框架 - 如何在测试运行期间使用chrome中的开发人员工具?

时间:2017-03-06 13:34:43

标签: python google-chrome selenium automated-tests robotframework

是否有可能在机器人测试运行期间打开开发工具(检查员)? 我在我的"半自动化"中加入了一个手动步骤。测试我在其中打开开发工具(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

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

感谢您的任何想法: - )

3 个答案:

答案 0 :(得分:4)

这是不可能的。来自Visualizer class

  

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

     

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

答案 1 :(得分:2)

作为@Guy答案的一个例子,您可以在Robot Framework中使用Dialogs

*** Settings ***
Library    Dialogs

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

然后会显示以下警告类型的框。

enter image description here

答案 2 :(得分:1)

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

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