从unix命令行调用Selenium IDE的方法

时间:2011-04-03 07:29:57

标签: selenium selenium-ide

有没有办法从Linux命令行调用Selenium IDE。我真的想要一个命令,运行时会导致Selenium IDE运行当前测试。 (这样我可以将它挂钩到gvim的保存钩子中,永远不会把我的手从键盘上移开)

编辑:

我知道如何让PHP单元等运行selenium。这对于运行测试非常有用,问题是我现在正在尝试使用selenium IDE作为宏。 IE加载我的应用程序并导航我到我正在处理的部分。这在phpunit中效果不佳,因为它会在测试结束后立即重新加载页面。

3 个答案:

答案 0 :(得分:5)

您无法直接从命令行运行IDE,但是您可以使用Selenium RC来运行Selenese中记录的脚本(即由Selenium IDE记录),而无需将其转换为其他语言。

  

直接在内部运行Selenese   服务器使用-htmlSuite

     

您可以运行Selenese html文件   直接在Selenium Server中   将html文件传递给服务器   命令行。例如:

     

java -jar selenium-server.jar   -htmlSuite“* firefox”“http://www.google.com”   “C:\绝对\路径\为\我\ HTMLSuite.html”   “C:\绝对\路径\到\我\ results.html”

     

这将自动启动你的   HTML套件,运行所有测试并保存   一个很好的HTML报告,包含结果。

     

请注意

     

使用此选项时,服务器   将开始测试并等待   指定的秒数   测试完成;如果测试没有   在这段时间内完成,   该命令将以非零退出   退出代码,没有结果文件   生成。

     

这个命令行很长   键入时要小心。请注意这一点   要求您传入HTML   Selenese套房,不是单一的测试。   还要注意-htmlSuite选项是   与-interactive不相容你   不能同时运行。

以上摘自http://seleniumhq.org/docs/05_selenium_rc.html

答案 1 :(得分:0)

对于Selenium IDE,我不知道解决方案。 Selenium IDE是Selenium Core的用户前端。

但是要运行一组工作测试脚本,您可以使用Selenium Remote Control (RC)。这是Selenium Core的API。它适用于Java,Ruby,Python,.Net / C#,Perl,PHP。

您可以使用Selenium IDE录制宏。然后,您可以将宏导出到每种支持的编程语言。我成功地将它用于Java:

  • 将脚本导出为Java

  • 使用JUnit测试用例

  • 包装Java代码
  • 在Java类中使用一个简单的main方法来解析一些命令行参数并调用JUnit runner

  • 从命令行启动Selenium Server

  • 从命令行调用Java类

它应该以类似的方式用于其他编程语言。将Java或C#编译为可执行文件或直接调用Python / Ruby / Perl脚本。

作为JUnit测试用例的包装是可选的。优点是您可以使用任何其他JUnit运行程序执行Selenium宏,例如在Eclipse中或使用JUnit Ant任务。

答案 2 :(得分:0)

我发现你可以做的是使用unix命令行工具“xdotool”在按钮上生成click事件,该事件将运行脚本。正是我想要做的。这是我运行的命令行。 (它在shell脚本中)

xdotool search --name "Selenium IDE"  mousemove --window %1 153 65 click 1