selenium grid
#1
Отправлено 18 августа 2011 - 10:23
Сейчас запуск тестов организовал через xml файлы. Нужно ли мне будет изменить что-нибудь, для того что бы это все работало в gride?
#2
Отправлено 18 августа 2011 - 10:49
#3
Отправлено 18 августа 2011 - 11:02
Вопрос остается открытым. Как нужно организовывать build.xml?
сейчас сделал по образцу с сайта grid'a, вроде все запускается. Что нужно прописать, что бы мои тесты отрабатывали. Пишу вот так:
<target name="test" description="Run Selenium tests one by one">
<java classpathref="demo.classpath"
classname="org.testng.TestNG"
failonerror="true">
<sysproperty key="java.security.policy" file="${basedir}/libs/testng.policy"/>
<sysproperty key="webSite" value="${webSite}" />
<sysproperty key="seleniumHost" value="${seleniumHost}" />
<sysproperty key="seleniumPort" value="${seleniumPort}" />
<sysproperty key="browser" value="${browser}" />
<arg value="-suitename" />
<arg value="Selenium Grid Demo In Sequence" />
<arg value="-d" />
<arg value="${basedir}/target/reports" />
<arg value="-testclass"/>
<arg value="Registration.RegistrationEmployer" />
<arg value="XMLTest/Registration/Run_RegistrationEmployer.xml" />
</java>
</target>Но постоянно пишется:
Cannot load class from file: Registration.RegistrationEmployer
Уже по всякому пробовал прописывать путь. Подскажить плз
#4
Отправлено 18 августа 2011 - 11:17
Что-то не то с классом теста, не найден или битый... или стоит прописать правильный путь, со всеми пакетами.Cannot load class from file: Registration.RegistrationEmployer
#5
Отправлено 18 августа 2011 - 11:41
Т.е. как я понимаю у всех будет начинаться с <target name="...
#6
Отправлено 18 августа 2011 - 15:02
Да, у TestNG жутко кривая архитектура и совершенно неудобоваримый код, но при этом он работает, и разработчик не тормозит, быстро реагирует на сообщения об ошибках.
Правда, группами в TestNG я тоже не рекомендую активно пользоваться :)
Для запуска Ant-ом лучше использовать специальный task:
<taskdef resource="testngtasks" classpath="${TESTNG_HOME}/lib/testng.jar" />
<target name="run" depends="build" description="Run tests">
<testng>
<classpath refid="MyTests.classpath" />
<xmlfileset dir="." includes="mytests.xml" />
</testng>
</target>
Параметры при этом можно определить в mytests.xml и передавать не через системные свойства, а как параметры метода инициализации, помеченного, например, аннотацией @BeforeTest (но если хочется -- можно и через системные свойства, конечно).
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#7
Отправлено 18 августа 2011 - 15:29
Эх, испугал бы кто меня в своё время, сейчас всё было бы совсем иначе :)Виталий, не пугай людей :)
#8
Отправлено 18 августа 2011 - 15:36
Если бы это было действительно серьёзной проблемой для вас -- вы либо уже перешли бы на другой фреймворк, либо переписали TestNG (мы в своё время это и сделали :))Эх, испугал бы кто меня в своё время, сейчас всё было бы совсем иначе :)
Виталий, не пугай людей :)
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#9
Отправлено 18 августа 2011 - 16:31
#10
Отправлено 19 августа 2011 - 06:56
У меня сейчас так организовано. Есть build.xml, common-build.xml, testng.xml и xml через который запускаю тесты.
Так вот в build и common-build у меня собраны правила по запуску хаба, локального сервера, компиляции и т.д. в build я написал таргет по запуску своего теста:
<target name="mytest" depends="compile" description="test">
<java classpathref="runtime.classpath"
classname="org.testng.TestNG"
failonerror="true">
<sysproperty key="java.security.policy" file="/lib/testng.policy"/>
<arg value="-d" />
<arg value="${basedir}/target/reports" />
<arg value="-suitename" />
<arg value="suite1" />
<arg value="testng.xml"/>
</java>
</target>в файле testng.xml у меня:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite1" parallel="methods" thread-count="2">
<test name="Testcase20" >
<classes>
<class name="TestFiles.employerLogin"/>
</classes>
</test>
</suite>Когда запускаю, ругается что
[Parser] Running:
[java] path/testng.xml
[java]
[java]
[java] ===============================================
[java] Suite1
[java] Total tests run: 0, Failures: 0, Skips: 0
java.lang.NoClassDefFoundError: junit/framework/TestCase
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
...
Почему он хочет запустить через junit?
Или я не по тому пути пошел?
#11
Отправлено 19 августа 2011 - 19:27
А, это совсем просто -- добавьте JUnit в runtime.classpath -- для запуска он не нужен, но Selenium 1 от него зависит, поэтому в пути должен быть.Когда запускаю, ругается что
[Parser] Running: [java] path/testng.xml [java] [java] [java] =============================================== [java] Suite1 [java] Total tests run: 0, Failures: 0, Skips: 0 java.lang.NoClassDefFoundError: junit/framework/TestCase at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:634) ...
Почему он хочет запустить через junit?
Или я не по тому пути пошел?
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных


