Running Tests With the Browser Not Visible


Unit tests should run as silent, fast, and unattended as possible. Even
GUI tests.

So the page contains this
interesting line:

‘Run the tests with a “-b” option if you don’t want the browser to be
visible. ex. myTest.rb -b’

Imagine my naivete, typing a -b onto the end of the command line
invoking my
test batch (using the standard Unit Test stuff under AutoRunner). The
browsers still pop up.

How to suppress them from within the code?

The -b will work IF you require watir first:

require ‘watir’
require ‘test/unit’

Otherwise, test/unit will steal the arguments and not let watir have

Or, after the requires, do
$HIDE_IE = true


bpettichord wrote:

Or, after the requires, do
$HIDE_IE = true

It turns out this sets the flag. So it’s the same as I
doing that. The window flashes as it paints, then hides itself.

This effect happens with both the in-process COM server and the with
IE.new_process() (which is otherwise working great; thanks!)

I thought that COM had a flag to pass into the object-creation muck to
display the window. And I know that CreateProcess[Ex], the heart of
out-of-process creation, has one too.

On 9/10/06, Phlip [email protected] wrote:

out-of-process creation, has one too.
This was a bug in 1.4. It is fixed in 1.5 when using the COM server –
least for me.

I don’t believe the IE.new_process() code supports non-visible or -b at
in its current state. Feel free to supmit a patch.