0

1 つのことを実装する必要があります。テストを開始するたびに、システムにログインする必要があります。この Login プロシージャを実行するクラスを作成しました。このクラスに適切な値を送信でき、ログインできますが、その後、2 番目のクラス (テスト自体を実行している) で NullPointerException を受け取ります。ブラウザ ウィンドウがまったく表示されないようです。必要な数のクラスで Login クラスを再利用できるように、このクラスを作成してください。

ログイン用の 1 つ:

public class Login {

    private static WebDriver driver;
    public static void Find_Fields (String path,String login, String password) {
        driver = Driver.get(path);
        WebElement login_field = driver.findElement(By.id("abc"));
        login_field.sendKeys(login);
        //Find Password Field on Start page
        WebElement password_field = driver.findElement(By.id("abc"));
        password_field.sendKeys(password);
        //Find Login Button
        WebElement login_button = driver.findElement(By.xpath("abc"));
        login_button.click();
    }
}

public class Testing {

    private static WebDriver driver;
    @BeforeClass
    public static void a_setup(){
        //here I'm trying to run Login with parameters
        Login fields = new Login();
        fields.Find_Fields(LOGIN_PATH, LOGIN, PASSWORD);
    }

    @Test
    public void b_Press_Login_Button(){
        //Here I'm trying to start testing in session started from a_setup()
        WebElement keyword = driver.findElement("..."));
        keyword.sendKeys("...");
    }

    @AfterClass
    public static void Close(){
        driver.quit();
        driver.close();
    }
}
4

2 に答える 2

1

ブラウザー オブジェクトを使用してドライバーを初期化する必要があります。このようなものが動作するはずです:

public static void Find_Fields (String path,String login, String password)
{
    driver = new FirefoxDriver();
    driver.get(path);
    WebElement login_field = driver.findElement(By.id("abc"));
    login_field.sendKeys(login);
    //Find Password Field on Start page
    WebElement password_field = driver.findElement(By.id("abc"));
    password_field.sendKeys(password);
    //Find Login Button
    WebElement login_button = driver.findElement(By.xpath("abc"));
    login_button.click();
}
于 2013-08-16T21:32:05.690 に答える