Добрый день уважаемые товарищи, решил попробовать себя в Java и сразу же наткнулся на незнание того, как это сделать.
Предисловие: Eclipse мне не нравится, и я не хочу его использоваться, хотя там все запустилось с первого раза.
Вопросы:
1) Какой тип проекта нужно создавать в IDE для работы с WebDriver? - по аналогии с C# я создал библиотеку класов.
2) Какие библиотеки подключать и в какие папки, пакеты? - По аналогии с C# я подключил библиотеки WebDriver в папку библиотеки, затем из перечня существующих библиотек я выбрал Junit 4.10 и добавил его в ту же папку проекта.
3) И как же теперь запустить это чудо? Я так и не нашел кнопку запуск в Junit.
4) В среде IDEA я вообще не нашел возможности создать библиотеку классов, как это правильно делать для этой IDE?
Подскажите пожалуйста что я делаю не так, или как запустить мой тест в NetBeans без всяких антов, мавенов, дженкинсов и прочих инструментов СI?
1) Какой тип проекта нужно создавать в IDE для работы с WebDriver? - по аналогии с C# я создал библиотеку класов.
Пока, чтобы не грузить лишней информацией, любой.
2) Какие библиотеки подключать и в какие папки, пакеты? - По аналогии с C# я подключил библиотеки WebDriver в папку библиотеки, затем из перечня существующих библиотек я выбрал Junit 4.10 и добавил его в ту же папку проекта.
Юнит-тест фреймворк, кторый вы используете и org.seleniumhq.selenium:selenium-java.Вместе с их зависмостями, разбираться с которыми вручную не интересно, так что я предложил бы использовать фреймворк для автоматизации сборки, кторый будет резольвить их за вас, например maven или ant+ivy
3) И как же теперь запустить это чудо? Я так и не нашел кнопку запуск в Junit.
Не помню как там в нетбинс, но вроде, ПКМ на тестовом классе + выбрать (действительно какой-то неочевидный) пункт, типа Test File
У меня был где-то хороший туториал, по которому я создал "без антов и мавенов" но остался в закладках на работе, по-моему. Если разыщу, завтра поделюсь или им, или файлами/скриншотами проекта
0а) Советую (по своему, пусть и небольшому, опыту) использовать IDEA (Community Edition), а не Netbeans (NetBeans, как по мне, не так хорош, медленнее, Java-разработчики мне тоже советовали IDEA, а не NetBeans).
0б) Хотя у меня получилось без Maven, но *профессионалы рекомендуют* его использовать (в т.ч. и официальные учебные материалы Selenium) - http://seleniumhq.org/docs/03_webdriver.html http://seleniumhq.org/docs/appendix_installing_java_driver_Sel20_via_maven.html#importing-maven-into-intellij-reference
2) Я создал на диске C: папку для Selenium (C:\Utils\Selenium\), и распаковал туда скачанные Selenium и Selenium-server. Брал здесь: http://code.google.com/p/selenium/downloads/list В IDEA создавал (по туториалу) проект типа Java Module, библиотеки Selenium в формате .jar подключал к нему зависимостями.
3) IDEA позволяет запускать отдельные .java файлы (если они корректно сделаны), т.е. объявлен главный класс и у него есть метод Main. Скажем, я начал с Selenium-IDEA с того, что запустил вот этот туториал: http://code.google.com/p/selenium/wiki/GettingStarted
4) Как сказано выше, проект типа Java Module, в нем создаете или добавляете классы в Java-файлах.
3) И как же теперь запустить это чудо? Я так и не нашел кнопку запуск в Junit.
Как уже сказал @AlexAlex, надо нажать ПКМ на тестовом классе и выбрать пункт "Test File (Ctrl+F6)" (либо аналогичный пункт в меню "Run"), что вполне очевидно, имхо. Неочевиден другой момент: судя по скриншоту, у вас этот пункт не будет активен :)
Дело в том, что в NetBeans различаются понятия "исходники проекта" и "исходники тестов проекта" (примерно как в Maven). И данный пункт активен только у классов, лежащих в каталоге "тестов".
Настроить эти каталоги можно в свойствах проекта:
Т.е. нужно либо переместить ваш тестовый класс в подкаталог "test" проекта, либо "сказать" NetBeans, что тесты у вас лежат в подкаталоге "src".
2) Какие библиотеки подключать и в какие папки, пакеты?
Чтобы не мучаться с подключением к проекту кучи библиотек, советую использовать selenium-server-standalone-<версия>.jar, в ней собраны все используемые вебдрайвером классы.
Напишу, как создать простенький тест в IDEA при помощи TestNG и WebDriver:
1) Скачиваем IntelliJ IDEA Community Edition 12 отсюда. 2) Скачиваем selenium-server-standalone-2.28.0.jar отсюда. 3) Скачиваем testng-6.8 отсюда. 4) Скачиваем JDK под свою ОС отсюда. 5) Устанавливаем IDEA и JDK. 6) Устанавливаем JAVA_HOME в system environment variables, попутно добавив его и в path variable. Как это сделать, смотрим тут, обращая внимание на первый комментарий. 7) Запускаем IDEA, жмем Create New Project. 8) В появившемся окне указываем Project Name / location, выбираем тип Java Module, указываем путь к JDK (только при первом запуске) и жмем Next. P.S. Для указания доп. настроек нужно раскрыть компонент More Settings. 9) На следующем шаге ничего делать не надо, просто жмем Finish. 10) Переходим в корневую директорию нашего проекта, создаем там каталог libs и копируем туда наши библиотеки testng и selenium. 11) В появившемся ранее окне IDEA раскрываем нашу корневую директорию, вызываем контекстное меню для каталога src, выбираем New -> Java Class. 12) В появившемся попапе указываем имя класса и жмем OK. 13) Самое время подключить теперь библиотеки selenium и testng: жмем Ctrl + Alt + Shift + S. 14) В появившемся окне выбираем Libraries, жмем на + и указываем Java. После этого выбираем каталог libs, жмем Apply и OK. 15) Не углубляясь в дебри проектирования, пишем простенький тест, используя аннотацию @Test библиотеки testng. 16) Жмем Ctrl + Shift + F10 и наслаждаемся выполнением теста.
Хорошо бы скрасить шаги добавлением работы через прокси, например, HTTP only (админы не склонны открывать всё подряд по любому запросу, да ещё и время на апрув...)
У меня действительно пункт "Test File (Ctrl+F6)" был неактивен. Я создал папку "Тесты" и перенес в нее свой созданный клас, и о чудо!!!!! Теперь оно запускается сразу из IDE без Mavena и других ненужных мне вещей. Это гениально!
Ps для тех кто столкнется с непонятками в Netbens, действительно ему нужно указать папку с тестами и кидать свои классы тестов именно туда, тогда становится активной кнопка "тестировать". С Netbens справился, теперь осталось изучить IDEA и выбрать что будет по душе :) Еще раз благодарю Вас за помощь.
P.S. проделал все по инструкции выше, все получилось )) а проделал то же самое на Mac’е не работает ((
java.lang.IllegalAccessException: Class org.testng.internal.MethodInvocationHelper can not access a member of class FirstSeleniumTest with modifiers “public”
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:109)
at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:261)
at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:253)
P.P.S все решилось )) было несовпадение имен, все работает ))
Всем привет. Импортировал проект из Eclipse в IDEA, исправил то, что было красное в POM.xml, запустил и получил вот такое: Error occurred during initialization of VM
agent library failed to init: instrument
Error opening zip file or JAR manifest missing : C:\Users
Ума не приложу, почему не находится данный путь. Буду очень признателен, если кто-нибудь подскажет, как это исправить.
Ну в целом вы можете посмотреть, как там всё устроено. Мы постарались всё описать с javadoc’ами, чтоб было проще разбираться. Может быть вам помогут какие-то решения, используемые в проектах.
ЗЫ: ну и плюс - в плагине есть еще ряд прикольных фишечек, которые могут быть полезны при разработке веб тестов.
Структуру проекта в студию. Да и собственно как имортировали? Если это maven project, проще имортировать не из схемы Eclipse, а из чистой maven модели. Не забывайте, что эти 2 IDE используют совершенно разные подходы к настройке. Возможно IDEA подтянула какие-то специфичные опции из Eclipse конфигов, которые не может обработать. Выкиньте все eclipse-specific файлы и фолдеры по типу .project / .settings и т.п. Оставьте только сорсы, pom и ресурсы. Дальше - смело создавайте source-based maven project. Проблем быть не должно, если структура проекта соблюдена верно. Единственное, скорее всего потребуется задать JDK-path, если еще не установлен. Ну и в зависимости от версии Java, явно указать компилятору source / target через maven compiler plugin, иначе будет юзаться 1.5 по дефолту.
Что интересно - сделал для пробы новый maven project, в который добавил зависимости testng и webdriver, запускаю три строки кода и получаю следующего содержания аутпут:
Запускать можно по-разному. Тут нет экстрасенсов, так что будьте более информативны, если хотите, чтобы вам помогли. К тому же, вы все еще не показали структуру проекта.