我尝试按照以下引用在独立服务器上运行 selenium IDE 测试套件。我的最终目的是在 ubuntu 上运行 headless 数据驱动测试。
Running Tests from command line
Selenium Headless tests on Ubuntu
所以在查看了这些教程之后,我设置了非常简单的测试套件并尝试从命令行运行,例如
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 - Checking Resource aliases
之后卡在那里
没关系如果我跳过-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_02
没有任何运气的黑客尝试:
最佳答案
由于这个问题引起了很多关注并且需要一个合适的解决方案,我是这样找到的:
首先我们需要适当的插件来设置 headless 测试
获取正确的插件
我已经在使用以下 selenium IDE 插件
- 数据驱动 v0.2
- 流量控制 v08
- includecommand 1.3
我需要的是与我需要的 selenium 核心服务器 一起工作的相应 selenium 插件
- datadriven_v0.2-core.js
- 流量控制(goto_sel08.js)
includecommand (includeCommand_2.3.js) origional source
由于 openqa.org 不再维护这些插件(可能已损坏)您必须使用 wayback machine获取 js 文件(没有 zip 附件)。例如 flowcontrol in wayback machine
因为我已经完成了这个并且创建了一个带有一些修复的要点
- datadriven_v0.2-core.js
- flowcontrol ( goto_sel08.js)
- includeCommand_2.3.js
- user-extension.js (以上三者合计)
设置 headless 测试
a) 安装 xvfb ( X Vritual Frame Buffer 和 firefox )
sudo apt-get update && sudo apt-get install -y xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic xvfb x11-apps firefox
b) 创建 xvfb 初始化脚本/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 测试(你可以把测试放在任何地方)
sudo mkdir /usr/local/SeleniumTests && cd /usr/local/SeleniumTests
checkout /复制您的 html 测试到/usr/local/SeleniumTests
f) 为测试目录创建别名(配置文件'selenium_alias') (只允许来自本地主机)
<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
g) 更新 selenium 测试数据 (/usr/local/SeleniumTests/测试/数据) 例如更改测试用户名/密码和 baseUrl 以测试应用程序(我在 xml 文件中)
h) 下载 Seleninum 服务器 jar 文件
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
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 插件
有些步骤可能并不适用于所有情况。
关于selenium - 使用 Selenium Standalone 服务器运行 Selenium IDE 测试套件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20852083/