использование удаленного сервера Selenium из тестовых случаев Selenium, написанных на groovy - PullRequest
1 голос
/ 26 июля 2010

Я использовал Selenium ide для записи тестовых случаев, экспорта их в исходный код Groovy, изменения по мере необходимости и запуска их.Код по умолчанию ожидает сервер на локальном хосте, я хотел бы использовать сервер на удаленной машине.Как я могу это сделать?При просмотре документа для GroovySeleneseTestCase не видно, что есть метод setUp (), который позволяет вам использовать удаленный сервер.Единственный вариант, о котором я могу подумать, - это настроить хост и порт сервера через объект селена по умолчанию в моем методе setUp (), но я не уверен, как это сделать.

Ответы [ 2 ]

0 голосов
/ 26 июля 2010

Чтобы заставить это работать, мне пришлось создать собственный экземпляр GroovySelenium, назначить его тестовому классу и не вызывать метод super.setUp. Пример кода приведен ниже.

void setUp(String selServer, int selPort, String browser, String basePath) throws Exception {
def tempSel=new DefaultSelenium(selServer, selPort, browser, basePath)
selenium= new GroovySelenium(tempSel)
selenium.start()
setDefaultTimeout(30000)
setCaptureScreenshotOnFailure(false)
}

Предполагая, что у вас есть этот метод настройки в классе MyTest, вы хотите протестировать google.com, используя сервер selenium с именем хоста myserver, порт 5555 и используя Internet Explorer в качестве браузера, будет работать следующий код.

 test=New MyTest()
test.setUp("myserver",5555,"*iexplore","http://www.google.com")
test.testMyTest()
0 голосов
/ 26 июля 2010

В Java:

HttpCommandProcessor processor = new HttpCommandProcessor("localhost", 3300, browserName, appBaseURL);

selenium = new CustomSelenium(processor, browserName, waitToLoadTimeout, waitForConditionTimeout);
selenium.start();

просто замените localhost и 3300 на адрес сервера и правильный порт. Я не знаю Groovy, но он не должен сильно отличаться. Конечно, сначала нужно запустить сервер и настроить брандмауэр.

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