Перейти к содержимому

Фотография

Запуск Selenium Webdreiver теста из .bat файла


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 zeuge

zeuge

    Новый участник

  • Members
  • Pip
  • 15 сообщений

Отправлено 15 мая 2012 - 14:01

Всем привет!

Я использую Selenium Webdriver + Eclipse + java + TestNg. Написал весь тест, подключил логеры, но стала задача, сделать так, чтобы тест можно было запустить одним нажатием, а не из эклипса. То есть нужно, собрать .bat файл, при запуске которого, запуститься тест и будет выполнять, то что нужно.

Вопрос, не подскажите ли, как это сделать?

Я сделал xml файл, вида: тут имя проекта, и имя класса, в котором находятся методы с тестами. Правда я не уверен в правильности этой строки: <class name="TestReport.TestMethods"/> TestReport - это имя пэкэджа, TestMethods - это имя класса с методами-тестами.

<!DOCTYPE suite SYSTEM "http://testng.org/te...estng-1.0.dtd">
<suite name="Webdriver_Project">
<test verbose="2" name="Group Tests" annotations="JDK" preserve-order="true">
<classes>
<class name="TestReport.TestMethods"/>
</classes>
</test>
</suite>

Так же я сделал .bat файл, вида:

set SELENIUM_HOME=
set TESTNG_HOME=C:/eclipse/plugins/org.junit_4.8.2.v4_8_2_v20110321-1705
set JUNIT_HOME=C:/eclipse/plugins/org.junit4_4.8.1.v20100525

java -Dbrowser=*firefox -cp bin;%SELENIUM_HOME%/selenium-java-client-driver.jar;%TESTNG_HOME%/lib/testng.jar;%JUNIT_HOME%/junit.jar org.testng.TestNG %*

Но тут не знаю, что писать в set SELENIUM_HOME=
и не уверен, что остальнео парвильно опсиано.

Может быть кто-то подскажет мне, как решить проблему, или посоветует более удобный способ реализации запуска теста, без имcпользования eclipse?
СПАСИБО!
  • 0

#2 Vitalik_V

Vitalik_V

    Активный участник

  • Members
  • PipPip
  • 149 сообщений
  • ФИО:Виталий
  • Город:Харьков

Отправлено 15 мая 2012 - 14:19

Создаем переменные 1. Путь где у нас лежит тест-проект 2. Имя xml которую будем запускать
set javaTestProjectPath=%~dp0
set TESTNGFILE=Tests.xml
Переходим в папку проекта
cd /d %javaTestProjectPath%
Указываем путь где у нас установлена джава
set path=C:\Program Files\Java\jre6\bin
Указываем пути к сторонним библиотекам и нашим бинарникам
set classpath=%javaTestProjectPath%\bin;%javaTestProjectPath%\Lib\selenium-java-2.20.0.jar; и т.д
Запускаем из cmd при помощи TestNg
java org.testng.TestNG "%javaTestProjectPath%\%TESTNGFILE%" -d "%javaTestProjectPath%\test-output"

Вот Вам и батник.
  • 0

#3 zeuge

zeuge

    Новый участник

  • Members
  • Pip
  • 15 сообщений

Отправлено 16 мая 2012 - 07:09

Простите, не совсем понял, где нужно переменные создавать?
cd /d %javaTestProjectPath% - вот это где вообще надо писать?

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

Создаем переменные 1. Путь где у нас лежит тест-проект 2. Имя xml которую будем запускать
set javaTestProjectPath=%~dp0
set TESTNGFILE=Tests.xml
Переходим в папку проекта
cd /d %javaTestProjectPath%
Указываем путь где у нас установлена джава
set path=C:\Program Files\Java\jre6\bin
Указываем пути к сторонним библиотекам и нашим бинарникам
set classpath=%javaTestProjectPath%\bin;%javaTestProjectPath%\Lib\selenium-java-2.20.0.jar; и т.д
Запускаем из cmd при помощи TestNg
java org.testng.TestNG "%javaTestProjectPath%\%TESTNGFILE%" -d "%javaTestProjectPath%\test-output"

Вот Вам и батник.


  • 0

#4 zeuge

zeuge

    Новый участник

  • Members
  • Pip
  • 15 сообщений

Отправлено 16 мая 2012 - 09:20

Ура, батник, сделать удалось и запустить его из кансоли:

но вот проблема дальше, почему все 8 тестов , которые у меня в классе есть не прошли, то есть консоль напротив каждого метода-теста, написала:
FAILED: RegistraionForm - (один из методов)
java.lang.NoClassDefFoundError:com/google/common/base/Function

Впорос , почему? судя по ошибе система не видит нужных библиотек, но я вроде бы всё подключил ?
Вот мой .bat файл:


set javaTestProjectPath=%~dp0
set TESTNGFILE=group-tests.xml
set path=C:/Program Files (x86)/Java/jre6/bin
set SELENIUM_HOME=D:/work/Silenium/selenium-2.20.0/libs
set TESTNG_HOME=c:/eclipse/plugins/org.testng.eclipse_6.4.0.20120308_1617/
set JUNIT_HOME=C:/eclipse/plugins/org.junit_4.8.2.v4_8_2_v20110321-1705

java -Dbrowser=*firefox -cp bin;%SELENIUM_HOME%/selenium-java-2.20.0.jar;%TESTNG_HOME%/lib/testng.jar;%JUNIT_HOME%/junit.jar org.testng.TestNG %* group-tests.xml

Вот мой group-tests.xml

<!DOCTYPE suite SYSTEM "http://testng.org/te...estng-1.0.dtd">
<suite name="Webdriver_Project">
<test verbose="2" name="Group Tests" annotations="JDK" preserve-order="true">
<classes>
<class name="TestReport.TestMethods"/>
</classes>
</test>
</suite>

Где, TestReport - это имя пэкэджа, TestMethods - это имя класса с методами-тестами.
  • 0

#5 Misha_NSK

Misha_NSK

    Новый участник

  • Members
  • Pip
  • 58 сообщений


Отправлено 28 июня 2012 - 05:35

А не проще ли в ант завернуть? Его инструкции и в женкинсе выполнять без проблем можно.
  • 0

#6 Misha_NSK

Misha_NSK

    Новый участник

  • Members
  • Pip
  • 58 сообщений


Отправлено 28 июня 2012 - 05:37

А не проще ли в ант завернуть? Его инструкции и в женкинсе выполнять без проблем можно.
  • 0

#7 s.kaliberda

s.kaliberda

    Новый участник

  • Members
  • Pip
  • 22 сообщений
  • ФИО:Kaliberda Sergey
  • Город:Dnipropetrovsk

Отправлено 28 июня 2012 - 07:49

Также можно использовать Maven. Скрипты maven легко интегрируются в Continuous Integration процесс.
  • 0

#8 Misha_NSK

Misha_NSK

    Новый участник

  • Members
  • Pip
  • 58 сообщений


Отправлено 03 июля 2012 - 05:53

Также можно использовать Maven. Скрипты maven легко интегрируются в Continuous Integration процесс.

Да и ant'а скрипты тоже. Суть не в этом. Суть в том, что "сборщики" куда более приспособлены, нежели бат-файлы. Да и батник больше 5 строк это изврат.
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных