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.