【问题标题】:Open Google Chrome developer tool console while C# selenium test is running, or read it programmatically在 C# selenium 测试运行时打开 Google Chrome 开发者工具控制台,或以编程方式读取它
【发布时间】:2014-06-23 05:52:50
【问题描述】:

有没有办法在 C# Selenium 测试中告诉 WebDriver 打开 Chrome 开发者工具控制台,或者在运行 Selenium 测试时打开控制台而不破坏它们?
或者能够以编程方式将输出读取到控制台?
到目前为止,我已经尝试在测试运行时手动打开控制台(CTRL + SHIFT + I),但这确实每次都会破坏测试.

【问题讨论】:

标签: c# google-chrome testing selenium-webdriver google-chrome-devtools


【解决方案1】:

打开 chrome 控制台:

var inSim = new WindowsInput.InputSimulator()

inSim.Keyboard.KeyDown(WindowsInput.Native.VirtualKeyCode.LCONTROL);
inSim.Keyboard.KeyDown(WindowsInput.Native.VirtualKeyCode.LSHIFT);
inSim.Keyboard.KeyPress(WindowsInput.Native.VirtualKeyCode.VK_J);
inSim.Keyboard.KeyUp(WindowsInput.Native.VirtualKeyCode.LSHIFT);
inSim.Keyboard.KeyUp(WindowsInput.Native.VirtualKeyCode.LCONTROL);
  • 您可以做什么:拍摄浏览器的快照(包括打开的控制台)。
  • 你不能做什么:使用webDriver(它会使测试崩溃,但如果你关闭控制台,就像你打开它一样,你将能够继续)
  • 为什么:selenium 需要与 DevTools 的独占连接。

注意 - 某些操作系统具有严格的输入规则,当计算机被锁定或您在没有连接键盘的机器(远程处理的服务器)上运行此代码时,可能会阻止 inputSimulator 工作

希望这会有所帮助...

【讨论】:

  • 你能解释一下“你不能做什么:使用 webDriver”是什么意思吗?你是说你可以关闭控制台,然后(并且只有这样)继续使用传统的 Selenium 测试代码?
猜你喜欢
  • 1970-01-01
  • 2015-08-27
  • 2013-05-15
  • 2022-08-21
  • 1970-01-01
  • 2015-09-05
  • 1970-01-01
  • 2016-09-12
  • 2016-07-18
相关资源
最近更新 更多