Comment exécuter des tests de système de sélénium sans exiger d'ouvrir le navigateur?
-
14-11-2019 - |
Question
J'ai une méthode de test créée à l'aide de sélénium, quelque chose de similaire à celui-ci:
[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);
}
}
Lorsque le test est exécuté, il ouvre un IE et effectue son test.
Imaginez que 200 méthodes d'essai sont telles que celles-ci sont réparties sur plusieurs appareils de test, ce qui signifie que c'est-à-dire qu'il doit être ouvert et fermé plusieurs fois (autant que les appareils de test depuis 1 navigateur seront ouverts par appareil de test).
Comment exécuter des tests de système de sélénium sans qu'il soit nécessaire d'ouvrir le navigateur?
Je veux dire par exemple, je pensais qu'il serait peut-être possible de développer un service Windows pour exécuter les tests de sélénium dans le contrôle du navigateur Web WinForms, auquel cas le navigateur ne doit pas être ouvert à chaque fois et les tests peuvent s'exécuter.automatiquement et impropre.Je ne sais pas comment implémenter cela?
ou y a-t-il d'autre manière mieux connue?
merci,
La solution
non.Le sélénium est écrit en JavaScript;Il est conçu pour fonctionner dans un navigateur réel pour tester la compatibilité avec un vrai navigateur.Il existe une variété d'autres outils conçus pour exécuter des tests simulant un navigateur;Vous pouvez consulter htmlunit ou
J'espère que cela vous aidera.
Autres conseils
Avez-vous essayé xlt? Il ne nécessite pas du tout un navigateur ouvert http://www.xceptance.com/products/xlt/what-is-xlt.html
Vous pouvez exécuter tous vos tests dans une instance de navigateur si vous le souhaitez.Il vous suffit de passer votre instance WebDriver à chaque test.Comme avoir un webDriver Singelton dans une classe statique d'où toutes vos tests peuvent accéder au webDriver.Fonctionne bien et est utile si vous avez une session pour garder
pilote= nouveau htmlunitdriver (vrai); java.util.logging.logger.getlogger ("com.gargoylesoftware"). Selevel (niveau.off);