How to handle null point exception while using switch strings

newbie java
newbie java used Ask the Experts™
on
Was able to launch and close browser 1 only.
            
Error:


java.lang.NullPointerException
      at java.util.Hashtable.put(Unknown Source)
      at java.util.Properties.setProperty(Unknown Source)
      at java.lang.System.setProperty(Unknown Source)
      at newpackage.Launchbrowsers.Browser(Launchbrowsers.java:32)
      at newpackage.Launchbrowsers.main(Launchbrowsers.java:13)

Thanks in advance for any help.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
You'll need to post some code if you want more help on this.
Top Expert 2016
Commented:
You don't really handle an NPE. That exception is an indication of an error in programming. You need to determine why you have null strings for properties and take action accordingly

Author

Commented:
package newpackage;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;


public class Launchbrowsers {

      public static void main(String[] args)throws Exception {
            
            Browser("Chrome");
            Browser("IE");
            Browser("Firefox");
            
            }
            
      public static void Browser(String Launcher) {
            
            switch(Launcher){
            case "Chrome":
                  String file1 = System.getProperty("user.dir")+"/lib/chromedriver.exe";
                  System.setProperty("webdriver.chrome.driver",file1);
                  WebDriver driver1 = new ChromeDriver();
                  driver1.get("https://apple.com/");
                  driver1.close();
                  System.out.println("Chrome is successfully launched and closed");
                  break;
                  
            case "IE":
                  
                  String file2 = System.getProperty("C:/Users/newproject/lib/IEDriverServer.exe");
                  System.setProperty("webdriver.ie.driver", file2);
                  WebDriver driver2 = new InternetExplorerDriver();
                  driver2.get("https://apple.com/");
                  driver2.close();
                  System.out.println("InternetExplorer is successfully launched and closed");
                  break;
                  
            case "Firefox":
                  String file3 = System.getProperty("user.dir")+"/lib/geckodriver.exe";
                  System.setProperty("webdriver.gecko.driver",file3);
                  WebDriver driver3 = new FirefoxDriver();
                  driver3.get("https://apple.com/");
                  driver3.close();
                  System.out.println("Firefox is successfully launched and closed");
                  break;
                  
            default:
                  System.out.println("Errors in browser + driver configuration");
                  break;
            }
            }
}
            
I thought I had attached the .java file here. Sorry, here's the program I'm trying to execute.
I think your problem is this code:

 String file2 = System.getProperty("C:/Users/newproject/lib/IEDriverServer.exe");

Which is asking for a property called "C:/Users/newproject/lib/IEDriverServer.exe".  (In the others you're asking for "user.dir").

If this returns null (which it will) then the call to setProperty() will throw a NullPointerException because you're setting a "null" value.  Which isn't allowed.

Doug
I think we covered this pretty well.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial