我一直在努力让Selenium服务器运行现有的测试套件(在Selenium IDE中制作)以在几个目标平台上运行。我正在使用批处理文件,因为我们希望在夜间/每周工作中运行测试。 我有以下内容:
@echo off
cls
echo Launching Selenium under Internet Explorer
java -jar "c:\selenium\selenium-server-standalone-2.5.0.jar" -trustAllSSLCertificates -multiwindow -htmlSuite "*iehta" "http://mywebsite.com" "c:\selenium\tests\mytest.html" "c:\selenium\results\ie.html"
echo completed....
echo ---------------------------------------------------------------------------------
echo Launching Selenium under Firefox
java -jar "c:\selenium\selenium-server-standalone-2.5.0.jar" -trustAllSSLCertificates -multiwindow -htmlSuite "*firefox" "http://mywebsite.com" "c:\selenium\tests\mytest.html" "c:\selenium\results\firefox.html"
echo completed....
echo ---------------------------------------------------------------------------------
echo Launching Selenium under Google Chrome
java -jar "c:\selenium\selenium-server-standalone-2.5.0.jar" -trustAllSSLCertificates -multiwindow -htmlSuite "*googlechrome" "http://mywebsite.com" "c:\selenium\tests\mytest.html" "c:\selenium\results\chrome.html"
echo completed....
echo ---------------------------------------------------------------------------------
echo Launching Selenium under Opera
java -jar "c:\selenium\selenium-server-standalone-2.5.0.jar" -trustAllSSLCertificates -multiwindow -htmlSuite "*opera" "http://mywebsite.com" "c:\selenium\tests\mytest.html" "c:\selenium\results\opera.html"
echo completed....
echo ---------------------------------------------------------------------------------
echo Launching Selenium under Android
emulator -avd testdroid -no-boot-anim -scale .6
echo Waiting for device to connect...
adb wait-for-device
adb devices
echo Forwarding tcp port...
adb -s emulator-5554 forward tcp:8080 tcp:8080
echo Unlocking device...
adb shell input keyevent 82
echo Running Selenium...
java -jar c:\selenium\selenium-server-standalone-2.5.0.jar -proxyInjectionMode -trustAllSSLCertificates -htmlSuite "*custom adb -s emulator-5554 shell am start -a android.intent.action.VIEW -d http://localhost:4444/wd/hub/ -n org.openqa.selenium.android.app/org.openqa.selenium.android.app.MainActivity" "http://mywebsite.com" "c:\selenium\tests\mytest.html" "c:\selenium\results\android.html"
rem echo completed....
rem adb kill-server
到目前为止似乎有效但是: IE在测试的早期锁定,最终会发出脚本/内存警告,但整个应用程序都没有响应。
Android SDK确实启动了我的测试AVD,解锁并启动了webdriver。但这就是它所做的一切。
所以我主要担心的是如何让Android webdriver开始运行测试。 如果有人对IE的想法很好,但Android确实是问题。
答案 0 :(得分:1)
您最好的选择是将测试导出为纯WebDriver测试(不使用WebDriverBackedSelenium)并使用AndroidDriver运行它。
我们从未测试过使用Selenium Core,所以我怀疑它不能按预期工作。
答案 1 :(得分:1)
对于桌面测试,它变成了更改服务器的问题,尽管在同一个域上。 -disable-web-security没有帮助,但Firfox运行应用程序测试和浏览器集合运行基于UI的测试不会遍历服务器的客户端要求是可以接受的。
IE9仍然耗尽内存,即使通过Windows注册表将内存增加一倍,但我可能能够完善一些测试以解决这个问题。
Android依然顽固不化。