7

Web サイトで Selenium テストを実行しているときに、Selenium/Python ではテストできない Flash 要素がいくつかあります。別のターミナル ウィンドウを呼び出し、Sikuli OCR テストを実行してから、Selenium/Python テストに戻りたいと思いました。私はこれを正確に理解することができませんでした。新しいターミナルを開いて Sikuli スクリプトを実行するための引数がわからない場所に XXX を置きます。

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')

ここにはいくつかの項目が間違っていると確信しています。どんな助けでも大歓迎です。私はこれで見つけたものを検索して読みましたが、すべてを連携させることはできません。

4

3 に答える 3

1

Selenium から Sikuli コードを呼び出す場合、Selenium と Sikuli はどちらもネイティブ Java バインディングを備えているため、TestAutomationEngr が提案する Java を使用することを最初に選択します。

Python を使いたいので、Jython で Selenium を実行してみてください。Sikuli はJythonであることを覚えておくことが重要です。これが、おそらく Sikuli をインポートできない理由です。(もう 1 つの理由は、Jython のモジュール パスに含まれていないことです。) 私はこれを自分で試したことはありませんが、昨年Selenium で修正されたバグがあり、Jython で問題ないことを示しています。

Jython から直接 Sikuli コードを呼び出す場合は、以下を追加する必要があることに注意してください。

from sikuli.Sikuli import *

頂点に。これは、Sikuli IDE がそれをすべての Sikuli コードに暗黙的に追加するためです。

最後に、最後の手段は、コマンド ラインから Sikuli を呼び出すことです。 そのための FAQ があります。おそらく、Java を呼び出して sikuli-script JAR ファイルを渡す「IDE なし」バージョンが必要です。

于 2013-08-14T00:04:39.960 に答える