Extending MbUnit for system testing in multiple browsers

66 views
Skip to first unread message

Stewart Platt

unread,
Oct 12, 2012, 9:10:06 AM10/12/12
to mbun...@googlegroups.com
Hi all,
  I have started to put together a system test suite using WebDriver. Two important features we would like in our overall solution are parallelising of test cases and per-browser configuration of test cases. Ideally I would like to configure which browsers a given test should execute against through Icarus (or Echo).

I have considered writing a custom test executor and the necessary tools for this, but would prefer to take advantage of MBUnit!

I haven't found a way in which MbUnit would allow me to generate multiple test cases (not just making a single test case data driven) from an attribute.
My understanding is I need to extend MbUnit with a new attribute to support this.
Ideally a solution would require minimal boilerplate in test case definition, as I am hoping to make this as accessible as possible to possible contributors, though I'm happy for the test fixtures to inherit from a base class.

e.g. a test case definition may look like:
[Browser(Browsers.IE9 | Browsers.Chrome)] // Or [Browser(Browsers.All)]
[Test]
[Parallelizable]
void Test()
{
  // Base class property Driver has been initialised with Browsers.IE9 or Browsers.Chrome
  Driver.Navigate(...);
}
I would then like to run Test (IE9) and Test (Chrome) separately, from within Icarus/Echo.

Can anyone point me in the right direction to accomplish something like this? Or am I better off trying writing a custom test runner for this sort of fine-grained execution behaviour?

Best regards,
  Stew.
Reply all
Reply to author
Forward
0 new messages