使用Selenium独立服务器运行Selenium IDE测试套件时出现问题
我尝试按照以下参考在独立服务器上运行selenium IDE测试套件。我的最终目的是在ubuntu上运行无头数据驱动测试 所以在阅读了这些教程之后,我设置了非常简单的测试套件,并尝试从命令行运行,例如使用Selenium独立服务器运行Selenium IDE测试套件时出现问题,selenium,selenium-rc,selenium-ide,Selenium,Selenium Rc,Selenium Ide,我尝试按照以下参考在独立服务器上运行selenium IDE测试套件。我的最终目的是在ubuntu上运行无头数据驱动测试 所以在阅读了这些教程之后,我设置了非常简单的测试套件,并尝试从命令行运行,例如 java -jar ~/selenium/selenium-server-standalone-2.39.0.jar -userExtensions user-extensions.js -htmlSuite "*firefox" http://google.com ./suite.ht
java -jar ~/selenium/selenium-server-standalone-2.39.0.jar -userExtensions user-extensions.js -htmlSuite "*firefox" http://google.com ./suite.html ./out/firefox-results.html
输出
org.openqa.grid.selenium.GridLauncher main
INFO: Launching a standalone server
10:16:54.164 INFO - Java: Apple Inc. 20.65-b04-462
10:16:54.164 INFO - OS: Mac OS X 10.6.8 x86_64
10:16:54.178 INFO - v2.39.0, with Core v2.39.0. Built from revision ff23eac
10:16:54.250 INFO - Default driver org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match with current platform: MAC
10:16:54.336 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
10:16:54.338 INFO - Version Jetty/5.1.x
10:16:54.339 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
10:16:54.340 INFO - Started HttpContext[/selenium-server,/selenium-server]
10:16:54.340 INFO - Started HttpContext[/,/]
10:16:54.406 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@5ff06dc3
10:16:54.407 INFO - Started HttpContext[/wd,/wd]
10:16:54.413 INFO - Started SocketListener on 0.0.0.0:4444
10:16:54.414 INFO - Started org.openqa.jetty.jetty.Server@4ca31e1b
jar:file:/Users/myname/selenium/selenium-server-standalone-2.39.0.jar!/customProfileDirCUSTFFCHROME
10:16:54.580 INFO - Preparing Firefox profile...
10:16:55.946 INFO - Launching Firefox...
10:16:57.246 INFO - Checking Resource aliases
它确实打开了两个firefox窗口,并在INFO-检查资源别名后挂起
如果我跳过-userExtensions user extensions.js,这并不重要,它会给出相同的输出,显示两个弹出窗口并挂起。firefox弹出窗口显示已成功加载测试套件,但未进一步执行命令
我想知道是否需要运行/配置其他内容
示例测试套件和测试用例:
命令
java-jar~/selenium/selenium-server-standalone-2.39.0.jar-htmlSuite“*firefox”http://www.google.com suite.html firefox results.html
在以下条件下测试:
A) 操作系统:Mac OS X 10.6.8 x86_64/java版本“1.6.0_65”
B) 操作系统:Windows 7/java版本:1.7.0\u 02
黑客尝试时运气不佳:
(A)
B) 试试这个:
<Selenium server location path>java -jar <selenium-server name>.jar –htmlSuite "*<browser_name>" "<Url of base website>" "<Path of html_suite>" "<Path to store reports>"
java-jar.jar-htmlSuite“*”“”
selenium服务器名称:-使用了selenium-server-standalone-2.xx.xx
浏览器名称:-“iexplore”用于Internet Explorer;“firefox”用于
Mozilla Firefox
基本网站的Url:-基本Url
html_套件的路径:-用于保存文件的测试套件的路径
(例如:“C:\TestSuite.htm”,假设您使用的位置是“C”驱动器
保存测试套件)
存储报告的路径:-要保存测试结果的路径
进入(例如:“C:\TestResult.htm”),假设“C”驱动器作为您的位置
用于保存测试结果)
某些命令在Firefox中不起作用:
定义While和goto的用户扩展goto_sel_ide
命令不适用于Selenium RC。包括用户扩展
改为转到sel08.js
发件人:
我认为您是从以下方面遵循这些步骤的:
下载goto_sel08.js
下载IncludeCommand 4IDE扩展的1.3版本
下载datadriven.js扩展的最新版本(0.2)
将这些文件合并为新的user-extensions.js文件。这个订单很关键李>
创建一个xml文件,该文件必须包含单个测试用例的所有数据(输入和输出)
利用您的.xml文件
使用Selenium IDE或编辑器创建HTML测试套件,该套件将数据驱动测试作为要执行的测试之一李>
执行命令行:
-jar-server.jar
-userExtensions user-extensions.js
-htmlSuite
"*chrome"
"`<base URL>`"
"`<Selenium test suite file>`"
"`<results log file>`"
-timeout nnnn
-userExtensions user-extensions.js
-htmlSuite
“*铬”
"``"
"``"
"``"
-超时nnnn
我不会发布所有步骤。我认为这些步骤对于从Selenium RC命令行创建数据驱动测试非常重要。请检查所有步骤
如果它能在Windows上运行的话,也许它能在Ubuntu操作系统上运行。两个弹出窗口对我来说很奇怪,但可能不是问题。我只能提供以下几点:
- 使用firefox selenium IDE创建suite.html
- 尝试在命令行中使用*chrome李>
- 请检查user-extensions.js文件中脚本的顺序李>
我希望有帮助 由于这个问题受到了广泛关注,需要一个合适的解决方案,我发现:
首先,我们需要适当的插件来设置无头测试
获取正确的插件
我已经在使用以下selenium IDE插件
数据驱动v0.2
流量控制v08
includecommand 1.3
我需要的是与我需要的selenium core服务器一起工作的各个selenium插件
数据驱动的_v0.2-core.js
流量控制(goto_sel08.js)
includecommand(includecommand_2.3.js)
由于openqa.org不再维护这些插件(可能已经坏了),所以您必须使用它来获取js文件(没有zip附件)。例如
因为我已经这样做了,并创建了一些修复要点
(以上三项加起来)
设置无头测试
a) 安装xvfb(X虚拟帧缓冲区和firefox)
b) 创建xvfb init脚本/var/init.d/xvfb
if [ -z "$1" ]; then
echo "`basename $0` {start|stop}"
exit
fi
case "$1" in
start)
/usr/bin/Xvfb :99 -ac -screen 0 1024x768x8 &
;;
stop)
killall Xvfb
;;
esac
c) 添加到启动脚本:
sudo update-rc.d xvfb defaults
sudo chmod +x /etc/init.d/xvfb
d) 启动xvfb
/etc/init.d/xvfb start
e) 设置selenium测试(您可以将测试放在任何位置)
签出/复制html测试到/usr/local/SeleniumTests
f) 为测试目录创建别名(配置文件'selenium\u alias')
(仅允许来自本地主机)
i) 运行headless/Selenese测试
export DISPLAY=":99" && java -jar /var/lib/selenium/selenium-server.jar -htmlSuite *firefox https://localhost "/usr/local/SeleniumTests/tests/my_app_smoke_testing_suite.html" "firefox-results.html" -trustAllSSLCertificates -ensureCleanSession -port 5561 -userExtensions /usr/local/SeleniumTests/addons/user-extensions.js
注意我在/usr/local/SeleniumTests/addons下设置了selenium插件
有些步骤可能在所有情况下都不可取。谢谢@Wasi,我已经解决了我遇到的大多数问题。我将就此写一篇详细的说明。它比它的深度要深得多。@sakhunzai:oops没有注意到“ubuntu上的无头数据驱动测试”如何将超时和速度设为slow和auto=false?那么,您是否尝试过,但没有成功?您是否使用Seleneium IDE创建suite.html?感谢@herry,我认为IncludeCommand 4IDE不能与selenese testshow一起工作,以将超时和速度设置为slow,并将其设置为auto=false?@Rahul timeout参数包含在上述脚本中。可以在中定义的速度控制。但这对Webdriver来说是行不通的。
sudo mkdir /usr/local/SeleniumTests && cd /usr/local/SeleniumTests
<IfModule alias_module>
Alias /SeleniumTests/ /usr/local/SeleniumTests/
</IfModule>
<Directory "/usr/local/SeleniumTests/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>
sudo mv SeleniumTests/selenium_alias /etc/apache2/sites-avaiable
sudo a2ensite selenium
sudo service apache2 restart
sudo mkdir /var/lib/selenium/
sudo wget http://selenium.googlecode.com/files/selenium-server-standalone-2.39.0.jar -o /var/lib/selenium/selenium-server.jar
export DISPLAY=":99" && java -jar /var/lib/selenium/selenium-server.jar -htmlSuite *firefox https://localhost "/usr/local/SeleniumTests/tests/my_app_smoke_testing_suite.html" "firefox-results.html" -trustAllSSLCertificates -ensureCleanSession -port 5561 -userExtensions /usr/local/SeleniumTests/addons/user-extensions.js