Для автоматического старта/стопа Selenium-RC из Ant использую следующий код (взято из интернета):
Какие с этим у меня возникли проблемы?
<target name="init" description="Initiate environment">
<property name="tests.dir" value="tests" />
<property name="log.dir" value="logs" />
<property name="verbose" value="false" />
</target>
<target name="start-selenium-server" depends="init" description="Start Selenium server">
<java jar="${tests.dir}/lib/selenium-server.jar" fork="true" spawn="true">
<arg line="-singleWindow -firefoxProfileTemplate ${tests.dir}/firefoxTemplate" />
</java>
<waitfor maxwait="1" maxwaitunit="minute" checkevery="1" checkeveryunit="second">
<http url="http://localhost:4444/selenium-server/driver/?cmd=testComplete" />
</waitfor>
</target>
<target name="stop-selenium-server" depends="init" description="Stop Selenium server">
<get src="http://localhost:4444/selenium-server/driver/?cmd=shutDownSeleniumServer"
dest="${log.dir}/selenium-rc.log"
ignoreerrors="true"
verbose="${verbose}" />
</target>
<target name="tests" depends="compile-tests" description="Run Selenium tests">
<antcall target="start-selenium-server" />
<antcall target="run-junit-tests" />
<antcall target="stop-selenium-server" />
</target>
Какие с этим у меня возникли проблемы?
- Тесты запускались раньше чем Selenium RC (видимо потому что мой компьютер слишком стар) и поэтому фэйлились. Вылечилось добавлением waitfor
- Тесты фэйлились так как тест-кейсы написаны для английской локализации, а Firefox запускался с русской локалью и соответственно сообщения были на русском (решилось созданием отдельного профайла)
- Тесты фэйлятся на assertLocation(), так как у страниц появился параметр jsessionid
- При запуске тестов в новый Firefox устанавливались 3 расширения (DocumentReadyState, KillFF, Selenium RC Runner). Каким-то образом это победил (?), скопировав содержимое каталога customProfileDirCUSTFFCHROME/extensions из selenium-server.jar в firefoxTemplate/extensions и запустив разок firefox -no-remote -profile firefoxTemplate для того чтобы эти расширения установились. Теперь они не ставятся каждый раз (во всяком случае окошка этого нет, а в списке они почему-то не появились)
- Не удавалось остановить Selenium, т.к. в интернете сначала нашел устаревший совет (раньше параметр имел имя shutDown, а сейчас shutDownSeleniumServer)
- После запуска тестов остаётся открытым Firefox. Может потому что тесты фэйлятся? Надо разбираться.
Кратко резюмируя -- настройке всё это дело поддаётся ОЧЕНЬ сложно :(