web-dev-qa-db-ja.com

java弱いアクセス権を割り当てようとしているエラー

[javac] U:\dms-webui-testing\test-Java\dmswebui\CR\TestLogin.Java:16: until() in  cannot override until() in com.thoughtworks.Selenium.Wait; attempting to assign weaker access privileges; was public

私はかなり単純なコードでエラーを超えています:

package dmswebui.CR;

import org.infineta.webui.Selenium4j.MainTestCase;

public class TestLogin extends MainTestCase {

  @Override
  public void setUp() throws Exception {
    super.setUp();
    startSeleniumSession("ChromeDriver", "somesite");
  }

  public void testMethod() throws Exception {

        new Wait("") {boolean until() {return false;}};session().open("/");
        new Wait("") {boolean until() {return false;}};session().click("id=btnLogin-button");       session().waitForPageToLoad("30000");
        for (int second = 0;; second++) {
            if (second >= 60) fail("timeout 'waitForTextPresent:Logoff' ");
            try { if (session().isTextPresent("Logoff")) break; } catch (Exception e) {}
            Thread.sleep(1000);
        }
        new Wait("") {boolean until() {return false;}};session().click("id=btnUserLogout-button");
        new Wait("") {boolean until() {return false;}};session().click("id=yui-gen0-button");       session().waitForPageToLoad("30000");
  }
  public void tearDown() throws Exception {
    super.tearDown();
    closeSeleniumSession();
  }


}

ここ は、待機クラスの使用方法です。このエラーを理解するのを手伝ってください。

18
riship89

問題のある行は以下の2つです。

new Wait("") {boolean until() {return false;}};session().open("/");
new Wait("") {boolean until() {return false;}};session().click("id=btnLogin-button");

com.thoughtworks.Selenium.Waitクラスでuntilアクセス権を持つpublicメソッドを、パッケージのみが表示されるuntilメソッドによってオーバーライドしようとしています。

メソッドをオーバーライドして可視性を低下させることはできません。表示のみを増やすことができます(たとえば、protectedメソッドをオーバーライドしてpublicにする)

したがって、修正はこれらのメソッドにpublicキーワードを追加することです

new Wait("") {public boolean until() {return false;}};session().open("/");
new Wait("") {public boolean until() {return false;}};session().click("id=btnLogin-button");
25
Robin