一尘不染

从Python(Selenium)调用Sikuli脚本

selenium

在网站上运行Selenium测试时,我有一些Flash元素无法使用Selenium / Python进行测试。我想调用一个单独的终端窗口,运行Sikuli
OCR测试,然后再返回Selenium / Python测试。我还不能完全弄清楚这一点。我将XXX放在我不知道新终端打开并运行Sikuli脚本的参数的位置。

def test_05(self):
        driver = self.driver
        driver.get(self.base_url + "/")
        driver.find_element_by_link_text("Home").click()
        driver.find_element_by_id("open_popup").click()
        driver.find_element_by_id("screen_name").send_keys("user")
        driver.find_element_by_id("password").send_keys("pwd")
        driver.find_element_by_id("login_submit").click()
        driver.find_element_by_id("button").click()
        time.sleep(120)
        os.system('XXX')
        os.system('./Sikuli/sikuli-script -r test.sikuli')

我敢肯定,这里有几处错误。任何帮助将不胜感激。我已经搜索并阅读了可以在此找到的内容,但不能将它们全部一起使用。


阅读 471

收藏
2020-06-26

共1个答案

一尘不染

我遇到了类似的问题,所以我为Sikuli编写了一个CPython模块。该模块托管在GitHub上,可通过访问pip install sikuli。它可以使用pyjnius访问随附的Sikuli jar
,因此您不必使用Jython甚至无需安装Sikuli本身(尽管我出于录制目的建议使用它)。该模块当前涵盖了大多数较简单的Sikuli函数,因此它应涵盖许多用例。

安装后,简单的操作from sikuli import *将帮助您入门,但是作为最佳实践,我建议您仅导入要使用的功能。这对于此模块尤其重要,因为sikuli具有type覆盖Python自身type功能的功能。

2020-06-26