Как начать работу с Selenium 2?

Я читал здесь и там, что мы должны теперь используйте Selenium 2 (WebDriver, если я правильно понимаю). Я не говорю о Selenium IDE, который очень прост в использовании.

Я прочитал документацию на веб-сайте Selenium (который утверждает, что не является полным, так как Selenium 2 не стабилен, что нормально). Моя проблема в том, что я не могу начать с Селена.

Я имею в виду, как описано, я скачал его, запустил. Я нашел пробы и там.

но как вы (с Selenium / WebDriver):

  • запустить тест / набор тестов?
  • структура тестов?
  • где вы "ставите" свои тесты?
  • Java или PHP для написания тестов? (Я читал, что реализация PHP пока недостаточно стабильна)

возможно, я пропустил документацию по Как это все работает?, если это так, вы можете указать мне это.

как побочный обратите внимание, что я пользователь OS X, хотя я думаю, что это не проблема.

спасибо.

5 ответов


проверенное решение, в котором я реализовал основные концепции в нескольких компаниях, можно найти по адресу...

проводник основы. Я построил этот проект исключительно с целью открытого исходного кода, и чтобы получить людей, как вы начали с selenium 2. Сам проект имеет лицензию apache 2, поэтому вы можете взять ее и использовать в корпоративных решениях по своему усмотрению.

этот проект включает использование технологий из..

  • Java
  • затмение
  • jUnit
  • Maven
  • селен 2
  • Git

и каждая часть программного обеспечения имеет свою роль.

Java

тесты написаны на java и охватывают кросс-платформенные способности.

затмение

проверенное и широко используемое решение IDE для разработчиков Java по всему миру.

jUnit

программное обеспечение модульного тестирования, которое запускает модульные тесты java

Maven

возможно, лучшее программное обеспечение для управления зависимостями и управления сборкой, которое вы можете иметь с Java.

селен 2

второй взнос программного обеспечения Selenium browser automation, который превосходит Selenium 1, потому что он связывается непосредственно с API браузера, а не вводит JavaScript.

Git

удивительно простой в использовании (как только вы привыкли к нему) управления исходным кодом решение.

вот и все.

Итак, к вашим вопросам. Я собираюсь поместить их в контексте начала работы с Selenium framework, которую я предоставил выше.

начать теста/тестов?

используя jUnit в сочетании с Java, вы пишете свой тест, а затем просто щелкните правой кнопкой мыши метод, который вы хотите запустить, и нажмите Run As -> jUnit test и пошло-поехало.

структура тестов

если вы используете jUnit, единственной структурой, которая вам нужна, являются классы и методы. Например...

/**
 * This tests My Site
 */
@Config(url="http://example.com", browser=CHROME)
public class TestMySite extends Locomotive {

  @Test
  public void testSomething() {
    click(By.linkText("something"))
    .validateText(By.cssSelector("input"), "something");
  }

  @Test
  public void testSomethingElse() {
    check(By.cssSelector("input[type='checkbox']"))
    .validateChecked(By.cssSelector("input[type='checkbox']"));
  }
}

вы можете запускать тесты по отдельности, выполнив методов. Кроме того, люксы управляются классом, таким образом, вы можете запустить класс для запуска всех методов и получить хороший отчет после этого. enter image description here

где вы ставите свои тесты?

на соглашение Maven они рекомендуют иметь хорошее и аккуратное рабочее пространство и тестовую / исходную архитектуру. В проекте "начало работы" ваши проекты будут помещены в src/tests/java пакет, и везде внутри там. Затем можно запланировать запуск определенного пакета сервером непрерывной интеграции. Например, гуглить. Если вы хотите проверить только результаты, то цель results пакет и все классы junit, найденные в этом пакете, будут запущены.

Java или PHP для написания тестов.

это все основано на предпочтениях, и это всегда будет субъективным. Но одно надо иметь в виду... Селен 2 был закодирован в java и любое другое программное обеспечение с другими участниками. Ergo, Java будет самым современным и стабильный.


Ну Selenium2 () WebDriver или Selenium 1.0 не отвечает ни на один из вопросов, которые вы опубликовали выше.

селен будет только позволяют взаимодействовать с UI веб-приложения. Если вы хотите настроить свой тест, создать набор и т. д., то это зависит от того, какой язык вы планируете использовать с Selenium. Например, я использую Java, поэтому я мог бы использовать junit или testng (я предпочитаю testng), теперь testng позволяет мне создавать набор, решать, что такое тест, что должно не будет выполняться во время тестового запуска, отчетов о тестировании и многое другое.

Я полагаю, что есть какая-то вещь, называемая php unit (я никогда не работал с php), которая должна быть в состоянии ответить на ваш вопрос.

n.b. ваш вопрос не относится к тегу "selenium rc". вы можете удалить его.


Это страница документации, которую я пропустил:

http://seleniumhq.org/docs/05_selenium_rc.html


Я совершенно новичок в этом и изначально не знал, как запустить тест. Я бы установил NUnit, добавив нотацию nUnit в класс и запустив ее с помощью Nunit. Возможно, это способ сделать это по умолчанию, но я никогда не читал его нигде.


Я бы сначала предложил прочитать документацию:

http://seleniumhq.org/docs/03_webdriver.html

и эта страница Вики:

http://code.google.com/p/selenium/wiki/GettingStarted

также не стесняйтесь пролистывать некоторые слайды, которые я сделал недавно

http://www.slideshare.net/sebarmeli/getting-started-with-selenium-2

Если вы используете Java bindings и Maven, вы можете рассмотреть этот плагин архетипа, который я создал, чтобы начать работу с Selenium 2 и Page Object pattern:

https://github.com/sebarmeli/Selenium2-Java-QuickStart-Archetype