SpecFlow UI tests might be run with Selenium IWebDriver or, you might use Coypu framework (https://github.com/featurist/coypu).
With Coypu you can manage browsers and interact with elements on page. After Coypu description:
"If your tests are littered with sleeps, retries, complex XPath expressions and IDs dug out of the source with browser developer tools then Coypu might help."
Template
Specflow-coypu template with Coypu BrowserSession manager you will find on GitHub:Coypu configuration for browsers
Choice between browsers is managed by 'GetBrowser()' method in BrowserSessionManager class:
public BrowserSession GetBrowser()
{
if (browser != null)
return browser;
var sessionConfiguration = new SessionConfiguration()
{
Browser = GetBrowserName(),
AppHost = "https://specflow.org/", // whatever url you want
Timeout = TimeSpan.FromSeconds(2)
};
browser = new BrowserSession(sessionConfiguration);
browser.MaximiseWindow();
return browser;
}
private Browser GetBrowserName()
{
var browserType = TestContext.Parameters["BROWSER"];
switch (browserType)
{
case "CHROME":
browserName = Coypu.Drivers.Browser.Chrome;
break;
case "INTERNETEXPLORER":
browserName = Coypu.Drivers.Browser.InternetExplorer;
break;
case "FIREFOX":
browserName = Coypu.Drivers.Browser.Firefox;
break;
default:
browserName = Coypu.Drivers.Browser.Chrome;
break;
}
return browserName;
}
Comands for running particular browser
Default browser in template is Chrome, but you can choose Firefox or Internet Explorer, using command:
nunit3-console specflow-coypu\bin\Debug\specflow-coypu.dll --params:BROWSER=FIREFOX --work=NUnitTestResult --out=NUnitTestResult.txt --result=NUnitTestResult.xml
nunit3-console specflow-coypu\bin\Debug\specflow-coypu.dll --params:BROWSER=INTERNETEXPLORER --work=NUnitTestResult --out=NUnitTestResult.txt --result=NUnitTestResult.xml
Brak komentarzy:
Prześlij komentarz