Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 如何将Sikuli脚本集成到Selenium中?_Unit Testing_Testing_Selenium_Integration Testing_Sikuli - Fatal编程技术网

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

Unit testing 如何将Sikuli脚本集成到Selenium中?,unit-testing,testing,selenium,integration-testing,sikuli,Unit Testing,Testing,Selenium,Integration Testing,Sikuli,我广泛用于集成测试。适用于所有普通的东西(HTML/AJAX),但当我尝试测试第三方ActiveX、Java小程序和Flash组件时,这是行不通的 我找到的解决办法是。在本地工作很好,但我如何将其集成到Selenium中 顺便说一句,如果这与Selenium相关,我将使用Python API。请参阅Selenium RC文档的Python部分: 您可以从Jython运行Selenium测试。在这种情况下,您可以简单地将Selenium脚本集成到Sikuli脚本中 在Sikuli IDE中尝试以

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

我找到的解决办法是。在本地工作很好,但我如何将其集成到Selenium中


顺便说一句,如果这与Selenium相关,我将使用Python API。

请参阅Selenium RC文档的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的硒元素:


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

您可以扩展Selenium服务器,使其能够执行SIKULI脚本(关于如何从Java调用脚本)


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

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

robotframework.org


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


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

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

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


我感兴趣的方向是将Sikuli整合到硒中,而不是反过来。Sikuli没有像RC和Grid这样的工具。不管怎样,从Jython理论上讲,调用sikuli脚本是可能的。我在Linux上取得了一些成功,但在Windows和OSX上,这是一个依赖地狱。无论哪种方式,都是很好的建议,+1。尽管我认为,如果我甚至建议将我们所有的Selenium基础设施迁移到Jython,SysEng的家伙会对我处以私刑-PAnother的选择是使用Java,尽管这不是OP的首选路线。Sikuli有JavaAPI,Selenium也有。因此,您可以从同样驱动Selenium的Java调用Sikuli作为API调用(而不是Sikuli脚本)。这一点很好,但(现在)通过其Java API调用Sikuli比通过Java运行Sikuli脚本更好。