Как начать работу с 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']"));
}
}
вы можете запускать тесты по отдельности, выполнив методов. Кроме того, люксы управляются классом, таким образом, вы можете запустить класс для запуска всех методов и получить хороший отчет после этого.
где вы ставите свои тесты?
на соглашение 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". вы можете удалить его.
Я совершенно новичок в этом и изначально не знал, как запустить тест. Я бы установил 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