Добрый день или вечер.
Использую MS VS2013, Selenium WD 2.53.1, Nunit 3.4.0
вот пример запуска тестов параллельно и в разных браузерах.
//таких классов 3: GoogleTest1, GoogleTest2, GoogleTest3 [TestFixture] [Parallelizable] public class GoogleTest1 : BaseTest { [Test] [TestCaseSource(typeof(BaseTest), "BrowserToRun")] public void OpenGooglePage(String browserName) { SetUp(browserName); } }
public class BaseTest { protected IWebDriver _driver; public static IEnumerable<String> BrowserToRun() { String[] browsers = TestResources.browsers.Split(','); foreach (String b in browsers) { yield return b; } } public void SetUp(String browserName) { _driver = StartBrowser(browserName); _driver.Manage().Window.Maximize(); _driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(20)); _driver.Url = @"http://www.google.com"; } private IWebDriver StartBrowser(string browser) { switch (browser) { case "Firefox": return new FirefoxDriver(); case "IE": return new InternetExplorerDriver(); case "Chorme": return new ChromeDriver(); default: throw new ArgumentException(String.Format(@"This browser not valid: {0}", browser), "WebDriverOptions.BrowserName"); } } [TearDown] public void TearDown() { _driver.Quit(); } }
Так же есть файл TestResources.resx, в кортом строчка.
browsers = Chorme,Firefox,IE
Вопрос следующего плана, в тестах приходится дергать какждый раз метод SetUp, что как мне кажется немного не удобно, есть ли еще какие то возможности запуска одного и того же теста в разных браузерах.
Спасибо.