Image

Listens: Gunther - Ding Dong Song | Powered by Last.fm

Для автоматического старта/стопа 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. Может потому что тесты фэйлятся? Надо разбираться.


  • Кратко резюмируя -- настройке всё это дело поддаётся ОЧЕНЬ сложно :(