我在Mac上运行selenium时遇到问题,因此它运行一个简单的套件,只需一个简单的测试(参见下面的“TEST CASE”和“TEST SUITE”部分),使用以下命令行:
java -jar lib / selenium-server.jar -timeout 10 -log server.log -browserSideLog browser.log -debug -htmlSuite'* firefox'http://google.com`pwd` / suite3`pwd` / selenium。 HTML
我的问题是,当测试失败时,我没有得到预期的非零返回码,而且,我也看不到任何报告。
我尝试过以下变种:
使用给定的套件和测试用例文件:
指定-timeout选项(在没有编写报告的情况下大幅结束)或
不指定-timeout选项。 没有超时选项,selenium服务器永远不会关闭......即使帮助文档说:
Run a single HTML Selenese (Selenium Core) suite and then exit
immediately, using the specified browser (e.g. "*firefox") on the
specified URL (e.g. "http://www.google.com").
为了解决问题,我在测试用例中添加了一个额外的selenium命令以强制关闭服务器,如下所示:
.... previous commands ...
<tr>
<td>open</td>
<td>http://localhost:4444/selenium-server/driver/?cmd=shutDownSeleniumServer</td>
<td></td>
</tr>
</tbody>
</table>
</body>
</html>
这确实消除了悬念。浏览器关闭,进程终止..但我没有测试结果,我的退出代码(错误地)为零......不是 如我所料,非零。
TEST SUITE(需要使用名称'suite3'保存)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="http://google.com" />
<title>testcase3</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">testcase3</td></tr>
</thead>
<tbody>
<tr>
<td>open</td>
<td>/</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>xbout Google</td>
<td></td>
</tr>
</tbody>
</table>
</body>
</html>
测试案例
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="http://google.com" />
<title>testcase3</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">testcase3</td></tr>
</thead>
<tbody>
<tr>
<td>open</td>
<td>/</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>xbout Google</td>
<td></td>
</tr>
</tbody>
</table>
</body>
</html>
先谢谢谁能给我一个解决这个问题的线索! - 克里斯
答案 0 :(得分:6)
我们在北京的同事陈云云在这里找到了诀窍。如果您重命名套件和测试用例文件,以便它们具有.html扩展名(并确保从套件到测试用例的ref更新以反映测试用例文件的新名称),那么一切都将按预期工作..谢谢, Chenyun - Chris Bedford 1分钟前
答案 1 :(得分:0)
我建议使用java作为testuite和testcase。
在处理html selenium代码时遇到编码消失。
答案 2 :(得分:0)
我确信有一个使用Selenium Server(以前的RC)的解决方案,但我不知道它的副手。我正在开展一个让我无法进行研究的项目。
PushToTest TestMaker有一个很好的命令行界面,可以在桌面,网格或云环境中运行Selenese Table Format脚本。查看http://www.pushtotest.com/web-testing-with-selenium-pushtotest上的教程,看看它们是如何组合在一起的。
-Frank