2017-08-20 3 views
0

私は3つのファイルを作成しました.1つはインデックスファイルで、もう1つは設定ファイルで、最後はプロパティファイルです。コードを実行中に私はNULLPointerExceptionを得ています。SeleniumのNullPointerExceptionに直面

私はこの問題を解決できません。このコードを修正するのを助けてください。

index.java

package main; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.testng.annotations.Test; 
import config.Configuration; 

public class Index 
{ 
    WebDriver driver; 
    @Test(priority = 1) 
    public void handling_multiple_windows() throws Exception 
    { 
     Configuration obj = new Configuration(); 
     System.setProperty("webdriver.chrome.driver", obj.path()); 
     driver = new ChromeDriver(); 
     driver.manage().window().maximize(); 
     driver.get(obj.handling_window_url()); 
    } 
} 

Configuration.java

package config; 
import java.io.File; 
import java.io.FileInputStream; 
import java.util.Properties; 
import org.openqa.selenium.WebDriver; 

public class Configuration 
{ 
    Properties pro; 
    WebDriver driver; 
    public Configuration() throws Exception 
    { 
     File f = new File("./Config/config.property"); 
     FileInputStream fis = new FileInputStream(f); 
     Properties pro = new Properties(); 
     pro.load(fis); 
    } 

    public String path() 
    { 
     String url = pro.getProperty("ChromeDriverPath"); 
     return url; 
    } 

    public String handling_window_url() 
    { 
     return pro.getProperty("URL"); 
    } 
} 

config.property

ChromeDriverPath = G:\\Selenium Webdriver\\chromedriver\\chromedriver.exe 
URL = https://www.naukri.com 
+0

再びそれを宣言する必要がありますか?スタックトレースをindex.javaの質問 –

+0

に入れてください:System.setProperty( "webdriver.chrome.driver"、obj.path()); –

+0

、config.Configuration.path:>> String url = pro.getProperty( "ChromeDriverPath"); –

答えて

1

Configuration.javaクラスにあなたがを宣言しているので、あなたがNullPointerExceptionを取得する理由は、をグローバルに返しますが、Configuration()コンストラクタ内でもう一度Propertiesという別のインスタンスをProperties pro = new Properties();として開始しました。したがって、NullPointerException

変更行:

Properties pro = new Properties(); 

へ:

pro = new Properties(); 

あなたのコードは正常に動作します。

0

それをこのコードからProperties pro = new Properties();からPropertiesを削除し、作る:

pro = new Properties(); 

あなたはすでに上でそれを宣言するので、どこにNullExceptionを取得している

関連する問題