2016-07-29 11 views
-3
public WebElement locater(String locter) 
    { 
     String[] value = locter.split("##"); 
     String loctValue = value[0]; 
     String loctType = value[1]; 



     try { 
      if(loctType.equalsIgnoreCase("XP")) 
      { 


       loct = driver.findElement(By.xpath(loctValue)); 


      } 
      else if(loctType.endsWith("id")) 
      { 
       loct = driver.findElement(By.id(loctValue)); 

      } 
      else if(loctType.equalsIgnoreCase("linkText")) 
      { 
       loct = driver.findElement(By.linkText(loctValue)); 
      } 
      else if(loctType.equalsIgnoreCase("partialLink")) 
      { 
       loct = driver.findElement(By.partialLinkText(loctValue)); 
      } 
      else if(loctType.equalsIgnoreCase("cssSelect")) 
      { 
       loct = driver.findElement(By.cssSelector(loctValue)); 
      } 
      else if(loctType.equalsIgnoreCase("name")) 
      { 
       loct = driver.findElement(By.name(loctValue)); 
      } 
      else if(loctType.equalsIgnoreCase("tagname")) 
      { 
       loct = driver.findElement(By.tagName(loctValue)); 
      } 

     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      System.out.println(e.getMessage()); 
     } 
     return loct; 

    } 

Невозможно решить ... любой может помочь мнеПолучение нулевого указателя Исключение ..?

+0

и где вы получаете NPE? – Stultuske

ответ

0

Пожалуйста, проверьте loctType, loctValue не null. А также хорошо проверить locter тоже not null до вашего try catch операции.

+0

это значение locvalue и loctype, как и задано. В вызове функции есть некоторая проблема. –

+0

Измените это своими значениями. – Sirsendu

+0

WebDriverWait wait = новый WebDriverWait (драйвер, 10); \t wait.until (ExpectedConditions.presenceOfAllElementsLocatedBy (К \t \t .xpath (loctValue))); – Sirsendu