0

sikuli を使用して、HTML ページに画像が表示されるかどうかを確認しようとしています。以下はコードです:

public void verifyimage() {
    Screen s = new Screen();
    WebDriver driver = new FirefoxDriver ();
    driver.get("http://testpage.com/");
    WebElement id = driver.findElement(By.id("input_id"));
    id.sendKeys("123");
    WebElement type = driver.findElement(By.id("input_text"));
    type.sendKeys("Text");
    WebElement submitBtn = driver.findElement(By.cssSelector("input[type='submit']"));
    submitBtn.click();
    try {
        s.wait("x.png");
    }
    catch  (FindFailed e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

そして、実行すると次のエラーが発生します。

[info] Sikuli vision engine loaded.
[error] x.png looks like a file, but can't be found on the disk. Assume it's text.
[info] Text Recognizer inited.
[error] x.png looks like a file, but can't be found on the disk. Assume it's text.
FindFailed: can not find x.png on the screen.
Line ?, in File ?
at org.sikuli.script.Region.handleFindFailed(Region.java:420)
at org.sikuli.script.Region.wait(Region.java:511)
at org.sikuli.script.Region.wait(Region.java:478)
at com.pictela.runScriptTest.testScript300x250(runScriptTest.java:41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1197)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1122)
at org.testng.TestNG.run(TestNG.java:1030)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)

画像ファイルをJavaファイルと同じフォルダーの下に配置し、別のフォルダー(プロジェクト/画像の下)にも配置しようとしました。しかし、私はまだ同じ結果を得ています。どんな助けでも大歓迎です。ありがとう。

4

2 に答える 2

0

これに従うことによって私自身の問題を解決しました:

http://doc.sikuli.org/faq/030-java-dev.html#how-to-use-sikuli-script-in-your-java-programs

于 2012-09-05T20:11:56.750 に答える
0

コードで参照されているファイルの絶対パスを変更することにより、Sikuli IDE では見られず、Eclipse から報告された同様の問題を解決しました: s.wait("x.png");

スクリーン s = 新しいスクリーン();

          try {

                 System.out.println("Inside Try block");
                 s.doubleClick("D:\\User\\Eclipse-Sikuli\\Wors-Space\\My_Screen\\Images\\TELTGBY7l.png");

ここでは、現在のプロジェクト フォルダー名だけではなく、画像の絶対パスを指定しました。

于 2015-11-09T08:44:30.453 に答える