0

プロパティ ファイルを宣言し、クラスで Webdriver オブジェクトを初期化しました。そして今、この Webdriver オブジェクトを同じパッケージまたは別のパッケージのどこでも使用したいと考えています。どのように?

以下のコードを見つけてください。

public class Config
{
public static Properties config =null;
public static Properties OR = null;
public static WebDriver driver = null ;
public static Logger APPLICATION_LOGS = Logger.getLogger("devpinoyLogger");

@SuppressWarnings("unused")
public void initialization() throws IOException
{
    // creating properties files storing the ID's and xpaths
    APPLICATION_LOGS.debug("Starting the test suite");
    APPLICATION_LOGS.debug("Loading config files");
    config = new Properties();
    //FileInputStream fp = new FileInputStream("./config.properties");
    FileInputStream fp = new FileInputStream(System.getProperty("user.dir")+"\\src\\com\\ode\\utility\\config.properties");
    config.load(fp);
    APPLICATION_LOGS.debug("Loading Object XPATHS");
    OR = new Properties();
    //FileInputStream fp1 = new FileInputStream("./OR.properties");
    FileInputStream fp1 = new FileInputStream(System.getProperty("user.dir")+"\\src\\com\\ode\\utility\\OR.properties");
    OR.load(fp1);

    APPLICATION_LOGS.debug("Starting the driver");
    driver = new InternetExplorerDriver();

    driver.get(config.getProperty("Testwebsite"));
    driver.manage().window().maximize();
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
}

これの使い方がわかりません...この問題で私を助けてください...

助けていただければ幸いです..

4

2 に答える 2

0

私が開発しているテスト フレームワークで行ったことは、基本クラスを作成したことです。

BasePage.java
BaseTest.java
BaseElement.java

BaseTest クラスで webdriver オブジェクトを初期化します。私は PageObject パターンに従っています。したがって、私が作成するすべての pageobject クラスは、その中の BasePage クラスを拡張します。私が作成するすべてのテスト クラス (注釈付きの TestNG テスト メソッド) では、BaseTest クラスを拡張します。したがって、BaseTest クラスで初期化されたドライバー オブジェクトは、サブクラスだけでなく、コンストラクターを介して PageObject クラスにも渡すことができます。それはうまくいきます。

于 2013-03-27T09:28:02.817 に答える
0

おそらく、同じパッケージと異なるパッケージの異なるクラスでドライバーを使用するため、クラスでドライバーを初期化する方法、およびドライバーが必要なクラスに関係なく、テストケースの実行時に異なるメソッドにアクセスするようにクラスを拡張するだけですクラス、同じドライバー参照がそこで使用されますか?

public class A {

public static WebDriver driver = new ......();

}

public class B extends A {
  //members and attributes of class B
}

public class C extends A {
  //members and attributes of class C

}
于 2013-03-19T16:16:46.593 に答える