代码之家  ›  专栏  ›  技术社区  ›  vartec

如何将Sikuli脚本集成到Selenium中?

  •  16
  • vartec  · 技术社区  · 14 年前

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

    我找到的解决办法是 Sikuli . 在当地效果很好,但我如何将其整合到硒中?

    6 回复  |  直到 14 年前
        1
  •  5
  •   Roy Tinker    14 年前

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

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

    from selenium import selenium    # this will probably need tweaking...
    
    slm = selenium("localhost", 4444, "*firefox", "http://www.google.com/")
    slm.start()
    # etc...
    

    这家伙似乎成功控制了Jython的硒元素: http://adam.goucher.ca/?p=367

        2
  •  1
  •   Dmitry Buzdin    9 年前

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

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

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

        3
  •  0
  •   David    13 年前

    如果不需要使用自定义或特定的测试框架,一个选项是Robot框架(RF)。它有一个硒库,有一个如何使用射频Sikuli。考虑到这一点,您可以使用射频将两者结合起来。加上射频有一些很好的测试自动化框架功能内置。

    机器人框架.org

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

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

        4
  •  0
  •   alecxe    12 年前

    您可以扩展Selenium服务器,使其能够执行SIKULI脚本( see this

        5
  •  0
  •   djangofan    11 年前

    如果您想在Selenium网格上远程运行Sikuli函数,那么您似乎必须使用 Selenium Augmenter 不知怎么的。这里没有一个答案显示远程网格(比如使用SauceLabs)如何获得Sikuli功能。也许Selenium项目还没有扩展Augmenter类来加载Sikuli这样的外部库?

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