Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Open Google Chrome developer tool console while C# selenium test is running, or read it programmatically

Is there a way to tell WebDriver in C# Selenium tests to open Chrome developer tool console, or some other way to get console to open while running Selenium tests without breaking them?
Or ability to programmatically read output to the console?
So far I have tried opening console manually (CTRL + SHIFT + I) while test is running, but that did break the test every-time.

like image 654
Matas Vaitkevicius Avatar asked Sep 30 '22 20:09

Matas Vaitkevicius


1 Answers

To open chrome console:

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);
  • What you can do: take a snapshot of the browser (including the opened console).
  • What you cannot do: use the webDriver (it will crash the test, but if you close the console, the same way you opened it, you will be able to continue)
  • Why: selenium needs an exclusive connection to DevTools.

Notice - some OS have strict input rules and might prevent the inputSimulator from working when the computer is locked or when you are running this code in a machine which has no keyboard connected to it (a server that is handled remotely)

hope this helps...

like image 185
Avishay Avatar answered Oct 03 '22 11:10

Avishay