问题
I'm developing an ASP.NET MVC 3 app with WebinatorSpecFlow+NUnit using the Selenium driver. I'm having a problem running parallel tests with Chrome (using chromedriver) and Internet Explorer.
Whenever I have both tests running in the same session and in parallel by Selenium via Webinator, IE seems to hang when I send any click action to the page.
I'm not able to use the solution suggested here, since SpecFlow generates the underlying C# code automatically. My solution is designed like this (the full code is available as a gist):
_multipleBrowsers.RunTest(web => web.GoToUrl("http://localhost/PROJECT/Authentication/Registration"));
What happens is that I instantiate a new IWebManager for every browser I need to test. Then, I call the delegate action, using the browser instance. It goes like this:
foreach (var web in _webManagers)
{
Debug.WriteLine("Running test with " + web.Config.Browser);
action(web);
}
This way the tests run almost in parallel. It pops up a browser, execute the action, then the other browser, and so forth.
Any thoughts on how to overcome this ChromeDriver issue? Should I change my testing approach with SpecFlow for multiple browsers?
References:
- Webinator
- specflow
- nunit
- ChromeDriver
回答1:
You can that much more simpler just use
Then you write feature with tag @Browser:IE
@Browser:IE
@Browser:Firefox
Scenario: Add comments
Given I navigated to /guinea-pig
And I have entered 'This is not a comment' into the commentbox
When I press 'submit'
Then my comment 'This is not a comment' is displayed on the screen
For now is the best solution which i found since it also make sence to test not in all browsers but in specific which you need
来源:https://stackoverflow.com/questions/11471198/multiple-browsers-tests-using-webinatorselenium-specflow-and-nunit