无法获取selenium命令行来运行HTML测试和记录输出,然后退出反映测试结果的状态

时间:2012-02-21 21:42:30

标签: selenium

我在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>

先谢谢谁能给我一个解决这个问题的线索!    - 克里斯

3 个答案:

答案 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