Я очень впечатлен шаблоном веб-драйверов и шаблонов страниц. Недавно я увидел Geb framework и с комбинацией функций spock, похоже, как мощный альтернативный вариант для автоматизированных тестов. Кто-нибудь использует Geb? Вы думаете о каких-либо ограничениях Geb?
Selenium 2 (WebDriver) или Geb?
Ответ 1
Использование Geb на нашем рабочем месте было экономией жизни. Я не могу представить, чтобы это много людей (с абсолютно никаким программным фоном) собирали Селен за короткий промежуток времени.
Я очень успешно создал mavenized geb-проекты, которые у нас работают на Jenkins для нашего CI. У этого есть несколько ограничений, таких как отсутствие возможности перетаскивания прямо из коробки. Тем не менее, вы всегда можете использовать API Selenium при возникновении необходимости. Кроме того, комментатору об этом не хватает поддержки phantomJS - говорит кто? Вы можете использовать абсолютно любой драйвер, который поддерживает селен. Подробнее см. Ссылку .
Ответ 2
Нет ничего плохого в Geb из того, что я испытал, но я бы расширил поиск, чтобы включить некоторые из недавних (ish) драйверов из Rubyland. Webrat был отличным стартером, но Capybara на самом деле отлично.
Это требует больше мета-подхода и доказывает унифицированный API для нескольких разных драйверов, включая Selenium и альтернативы без заголовка например HtmlUnit или env.js.
Благодаря JRuby, использование библиотек, написанных на Ruby os, теперь довольно просто.
Ответ 3
Я использовал структуру Geb. Это groovy основа автоматизации. У меня были проблемы с созданием общих методов многократного использования и общих методов страниц.
Ответ 4
Geb запускает WebDriver в Groovy. Это выглядит довольно круто и облегчает создание WebDriver.
Если вы используете WebDriver напрямую, вы можете выбрать номер языки.
Ответ 5
Геб велик, единственное, чего не хватает, это поддержка современного безголового водителя, такого как phantomJS. Существует проект под названием Ghostdriver, но он еще не готов. В целом, я люблю использовать Spock и Geb, и это сменщик игр о том, как мы разрабатываем наши веб-приложения на работе.
Ответ 6
Ghostdriver теперь доступен для любителей Selenium. Вот как вы можете использовать его с Geb.
Maven -
<dependency>
<groupId>com.github.detro.ghostdriver</groupId>
<artifactId>phantomjsdriver</artifactId>
<version>1.1.0</version>
<scope>test</scope>
</dependency>
GebConfig -
// your path to phantomjs binary
phantombinary = "/Users/kruttik.aggarwal/phantomjs-1.9.7-macosx/bin/phantomjs"
driver = {
DesiredCapabilities caps = new DesiredCapabilities();
caps.setJavascriptEnabled(true);
caps.setCapability(
PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
phantombinary
);
// Launch driver (will take care and ownership of the phantomjs process)
WebDriver driver = new PhantomJSDriver(caps);
System.out.println("starting driver");
driver
}
Ответ 7
Вы также можете взглянуть на Selenide, который является очень сжатой оболочкой над Selenium: fooobar.com/info/520701/...