Esiste un modo per eseguire più test nello stesso browser utilizzando Webdriver (Selenium) utilizzando Xunit, al momento xunit lancia un nuovo browser per ogni nuovo test , qui di seguito è il codice di esempioXunit crea una nuova istanza della classe di test per ogni nuovo test (utilizzando WebDriver e C#)
public class Class1
{
private FirefoxDriver driver;
public Class1()
{
driver = new FirefoxDriver();
}
[Fact]
public void Test()
{
driver.Navigate().GoToUrl("http://google.com");
driver.FindElementById("gbqfq").SendKeys("Testing");
}
[Fact]
public void Test2()
{
driver.Navigate().GoToUrl("http://google.com");
driver.FindElementById("gbqfq").SendKeys("Testing again");
}
}
L'unica cosa che suggerirei è che deve essere 'IUseFixture', in modo che questo permetta l'uso di altri driver (Chrome, Firefox, IE ecc.). Tutti i driver di Selenium implementano 'IWebDriver'. –
Arran
L'interfaccia 'IUseFixture' ha il vincolo generico 'T: new()', quindi sfortunatamente non sarà possibile. –
V neat +1 (domani quando avrò più voti: D) Non ho mai pensato che una classe di terze parti (e/o un gruppo di 'Tuple'd di args) potesse essere usata direttamente in un 'Invocaction' di IUseFixture' . –