2016-08-02 5 views
0

私はSeleniumの初心者です。私は今TestNGフレームワークで@DataProviderを使用して、Webページ(学習目的)にいくつかの値を渡しています。以下は私のコードです:失敗したコンフィグレーション:@BeforeClass beforeClass

package Framework; 

import org.testng.annotations.Test; 
import org.testng.annotations.DataProvider; 
import org.testng.annotations.BeforeClass; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.testng.annotations.AfterClass; 

public class DataProv { 

    WebDriver d; 
    @Test(dataProvider = "dp", priority=0) 
    public void signin(String uname, String pwd) throws InterruptedException { 
     d.findElement(By.linkText("SIGN-ON")).click(); 
     d.findElement(By.name("userName")).sendKeys(uname); 
     d.findElement(By.name("password")).sendKeys(pwd); 
     Thread.sleep(3000); 
    } 

    @Test(dataProvider = "dp1", priority=1) 
    public void reg(String fname) throws InterruptedException { 
     d.findElement(By.linkText("REGISTER")).click(); 
     d.findElement(By.name("firstName")).sendKeys("fname"); 
     d.findElement(By.name("register")).click(); 
     Thread.sleep(3000); 
    } 

    @DataProvider 
    public Object[][] dp() { 
     return new Object[][] { 
      new Object[] { "Rachel", "India123" }, 
      new Object[] { "Rita", "pass123" }, 
     }; 
    } 

    @DataProvider 
    public Object[][] dp1() { 
     return new Object[][] { 
     new Object[] { "Rachel"}, 
     new Object[] { "Rita"}, 
     }; 
    } 
    @BeforeClass 
    public void beforeClass() { 
     d.manage().window().maximize(); 
     d = new FirefoxDriver(); 
     d.get("http://newtours.demoaut.com/"); 
    } 

    @AfterClass 
    public void afterClass() { 
     d.close(); 
    } 
    } 

いいえ、私は取得しています、次のエラー

失敗したコンフィギュレーション:@BeforeClass beforeClass
java.lang.NullPointerExceptionが

は、誰かが私を助けることはでき

この問題を解決します。 ありがとうございます

+0

[NullPointerExceptionがある、と私はそれをどのように修正すればよいか?](http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-の可能性のある重複i-fix-it) – DVK

答えて

0

Null Pointer Exceptionとは何ですか?

この問題は、ブラウザを初期化せずに最大化しようとしているために発生しています。

ブラウザの起動順序を逆にしてから、@BeforeClassメソッドで最大化する必要があります。あなたがWebDriver dを言うとき

ので、参照dはあなたが基本的にNull Pointer Exceptionはそうあなたが最初にそれをintantiateしなければならない理由null.manage()ザッツつまりヌルオブジェクトを使用してこのメ​​ソッドを呼び出すようにしようとしているmanage()dにメソッドを呼び出ししようとしているのでとき、NULLですd = new FirefoxDriver()を使用します。

d = new FirefoxDriver(); 
d.manage().window().maximize(); 
+0

ありがとうございます。それを試して、今働いている。 – Devaraj

関連する問題