16

我广泛使用Selenium进行集成测试。适用于所有普通的东西(HTML/AJAX),但当我尝试测试第三方 ActiveX、Java 小程序和 Flash 组件时就不行了。

我为此找到的解决方案是Sikuli。在本地工作得很好,但我怎样才能将它集成到 Selenium 中?

顺便提一句。如果这是相关的,对于 Selenium,我正在使用 Python API。

4

5 回答 5

5

请参阅 Selenium RC 文档的 Python 部分:http: //seleniumhq.org/docs/05_selenium_rc.html#python

您也许可以从 Jython 运行 Selenium 测试。在这种情况下,您可以简单地将 Selenium 脚本集成到您的 Sikuli 脚本中。

在 Sikuli IDE 中尝试以下操作。您可能需要修改导入语句以指向 Selenium 项目中的特定文件。

from selenium import selenium    # this will probably need tweaking...

slm = selenium("localhost", 4444, "*firefox", "http://www.google.com/")
slm.start()
# etc...

这家伙似乎已经成功地从 Jython 控制了 Selenium:http ://adam.goucher.ca/?p=367

我的结论:留在 Jython 并从那里控制 Selenium 可能是最容易的。您可以将这两个工具集成到一个脚本中。

于 2010-10-09T00:41:06.653 回答
1

在 Selenium Grid 上可以有 Sikuli 功能。它需要在每个节点和集线器上安装额外的库。

检查此项目以了解更多信息

https://github.com/sterodium/selenium-grid-extensions

于 2015-10-16T09:31:41.577 回答
0

如果您想在 Selenium Grid 上远程运行 Sikuli 功能,那么您似乎必须以 某种方式使用Selenium Augmenter来完成。这里没有一个答案显示远程网格(例如使用 SauceLabs)将如何获得 Sikuli 功能。也许 Selenium 项目还没有增加 Augmenter 类来加载像 Sikuli 这样的外部库?

出于这个原因,当我使用 Sikuli 时,我总是必须使用非远程、标准、本地的 WebDriver 实例。

于 2013-07-15T00:49:53.840 回答
0

如果不需要使用自定义或特定的测试框架,一种选择是机器人框架 (RF)。它有一个 Selenium 库,并且有一个关于如何将 Sikuli 与 RF 一起使用的方法。考虑到这一点,您可以使用 RF 将两者结合在一起。Plus RF 内置了一些不错的测试自动化框架功能。

机器人框架.org

http://blog.mykhailo.com/2011/02/how-to-sikuli-and-robot-framework.html

http://code.google.com/p/robotframework-seleniumlibrary

于 2011-07-24T05:33:13.280 回答
0

您可以扩展 Selenium 服务器,使其能够执行 SIKULI 脚本(请参阅如何从 Java 调用它们)。

但是,您需要使用 Java 进行开发,因为 Selenium Server 是一个 Java 应用程序。

于 2010-10-14T15:24:05.343 回答