2011-04-03 16 views
1

有没有一种方法可以从Linux命令行调用Selenium IDE。我真的很想有一个命令,在运行时会导致Selenium IDE运行当前的测试。 (这样我可以把它嵌入GVIM的保存钩不能把我的手离开键盘)从unix命令行调用Selenium IDE的方法

编辑:

我知道如何让PHP单元等运行硒。这对于运行测试非常有用,问题是现在我想要做的就是使用selenium IDE作为宏。 IE加载我的应用程序,并导航到我正在工作的部分。这从phpunit不能很好地工作,因为只要测试结束,它就会重新加载页面。

回答

0

我发现你可以做的是采取使用UNIX命令行工具“xdotool”生成按钮,这将运行脚本的单击事件。正是我想要做的。这是我运行的命令行。 (它在一个shell脚本中)

xdotool search --name "Selenium IDE" mousemove --window %1 153 65 click 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测试案例

  • 用一个简单的main方法在Java类来分析一些Java代码命令行参数并调用JUnit亚军

  • 从命令行启动Selenium服务器

  • 调用命令行

应该在其他编程语言类似的方式工作的Java类。编译Java或C#到可执行文件或直接调用Python/Ruby/Perl脚本。

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

+0

为了测试这个工作正常,但不是如果你想使用硒作为宏记录。 – 2011-04-03 12:42:56

+0

为什么不使用Selenium IDE记录宏,将宏导出为测试脚本并从命令行调用它?我没有看到测试用例和宏之间的区别。 – 2011-04-03 12:52:44

+0

有两点不同:第一个phpunit不会在我现有的浏览器中运行它,而是在一个新的浏览器实例中(没有我的萤火虫设置等),其次当脚本结束phpunit重新加载页面时,哪一种会打败点。我想加载页面,转到我正在工作的点,然后能够与它交互 – 2011-04-03 12:55:30

5

你不能在命令行直接运行IDE,但是你可以使用Selenium RC运行记录的Selenese脚本(即由硒IDE记录),而不将它们转换成不同的语言。

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

您可以运行Selenese的HTML文件 直接Selenium服务器内 经过HTML文件到服务器的 命令行。例如:

Java的罐子硒的server.jar -htmlSuite “*火狐” “http://www.google.com” “C:\绝对\路径\为\我\ HTMLSuite.html” “C:\绝对\路径\到\我的\结果。HTML”

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

使用此选项时,服务器 将启动测试和等待为 测试完成秒 指定数目;如果测试确实的时间量内未完成 , 该命令将与非零 退出代码也没有结果文件WIL退出我生成了 。

这个命令行非常长,所以当你输入它的时候要小心 。请注意,此 要求您传递一个HTML Selenese套件,而不是单个测试。 也请注意-htmlSuite选项是 与-interactive不兼容您无法在同一时间同时运行您的 。

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

+0

谢谢,太糟糕了,不是我正在寻找的。现在,也许我可以找到一些脚本的GUI,所以一个命令行脚本会为我点击右键,这将在一天结束时做我想做的事情 – 2011-04-03 14:43:55

+0

另一种选择是将脚本转换为另一种语言,拆卸功能,以便在脚本运行完毕后不会关闭浏览器。 – Ardesco 2011-04-03 19:36:07

+0

这比我想要做的更多,它基本上是自动化我的工作流程的一种方式。我可能会尝试找到一个linux程序来点击命令行中的按钮 – 2011-04-04 15:54:16