Как запустить системные тесты Selenium без необходимости открывать браузер? - PullRequest
3 голосов
/ 26 января 2012

У меня есть метод теста, созданный с использованием Selenium, примерно такой:

[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);
    }
}

Когда тест выполняется, он открывает IE и выполняет его.

Представьте, что существует 200 таких методов тестирования, которые распространяются на несколько тестовых устройств, что означает, что IE нужно открывать и закрывать много раз (столько же, сколько тестовых устройств, так как для каждого тестового прибора будет открыт 1 браузер).

Как запустить системные тесты Selenium без необходимости открывать браузер?

Я имею в виду, например, что я думал, что возможно разработать службу Windows для запуска тестов Selenium в WinForms Web Browser Control, и в этом случае браузер не нужно каждый раз открывать, и тесты могут выполняться автоматически и без видимых слов. Не знаете, как это реализовать?

Или есть какой-нибудь другой более известный способ?

Спасибо

Ответы [ 4 ]

5 голосов
/ 27 января 2012

Нет. Селен написан на JavaScript; он предназначен для работы в реальном браузере для проверки совместимости с реальным браузером. Существует множество других инструментов, предназначенных для запуска тестов, имитирующих браузер; Вы можете просмотреть HtmlUnit или Canoo WebTest .

Надеюсь, это поможет вам.

1 голос
/ 22 октября 2012

driver = new HtmlUnitDriver (true);java.util.logging.Logger.getLogger (com.gargoylesoftware)

1 голос
/ 27 января 2012

Вы можете запустить все свои тесты в одном экземпляре браузера, если хотите. Вы просто должны передать свой экземпляр webdriver каждому тесту. Как если бы вы имели отдельный WebDriver в статическом классе, откуда все ваши тестовые примеры могут получить доступ к WebDriver. Работает нормально и полезно, если у вас есть сеанс для хранения

1 голос
/ 26 января 2012

Вы пробовали XLT?Он вообще не требует открытого браузера http://www.xceptance.com/products/xlt/what-is-xlt.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...