Como executar o Selenium testes do sistema sem a necessidade de abrir o navegador?
-
14-11-2019 - |
Pergunta
Eu tenho um método de teste criado usando o Selênio, algo semelhante a isto:
[TestFixture]
public class Test_Google
{
IWebDriver driver;
[SetUp]
public void Setup()
{
driver = new InternetExplorerDriver();
}
[TearDown]
public void Teardown()
{
driver.Quit();
}
[Test]
public void TestSearchGoogleForTheAutomatedTester()
{
//Navigate to the site
driver.Navigate().GoToUrl("http://www.google.co.uk");
//Find the Element and create an object so we can use it
IWebElement queryBox = driver.FindElement(By.Name("q"));
//Work with the Element that's on the page
queryBox.SendKeys("The Automated Tester");
queryBox.SendKeys(Keys.ArrowDown);
queryBox.Submit();
//Check that the Title is what we are expecting
Assert.True(driver.Title.IndexOf("The Automated Tester") > -1);
}
}
Quando o teste é executado, ele abre um IE e leva a cabo o seu teste.
Imagine que há 200 métodos de ensaio como este espalhados por vários acessórios de teste, o que significa que o IE tem que ser aberto e fechado várias vezes (como muitos como acessórios de teste desde 1 de navegador será aberta por teste de fixação).
Como executar o Selenium testes do sistema sem a necessidade de abrir o navegador?
Quero dizer, por exemplo, eu estava pensando que pode ser possível desenvolver um serviço do windows para executar o Selenium testes em WinForms Controle de Navegador da Web, caso em que o navegador não precise ser aberto de cada vez, e os testes podem executar automaticamente e seemlessly.Não tem certeza de como implementar isso, porém?
Ou existe alguma outra melhor maneira conhecida?
Obrigado,
Solução
Não.O selênio é escrito em JavaScript;ele é projetado para ser executado em um navegador real para testar a compatibilidade do jogo com um navegador real.Há uma variedade de outras ferramentas lá fora projetado para executar testes que simulam um navegador;você pode olhar para HtmlUnit ou Canoo Web.
Espero que isso irá ajudá-lo.
Outras dicas
Você já tentou XLT?Não necessita de um navegador aberto a todos os http://www.xceptance.com/products/xlt/what-is-xlt.html
Você pode executar todos os testes em um navegador exemplo, se você desejar.Você apenas tem que passar o webdriver instância para cada teste.Como ter um singelton WebDriver em uma classe estática a partir de onde todos os testcases pode acessar o WebDriver.Funciona bem e é muito útil se você tem uma sessão para manter
driver = new HtmlUnitDriver(true);o java.util.o registo.Logger.getLogger("com.gargoylesoftware").setLevel(Nível.OFF);