2016-09-09 2 views
-1

나는 모두 하이브리드 프레임 워크, 즉 오브젝트, 데이터 및 키워드를 사용하고 있습니다. 색인에 따라 임의의 값으로 드롭 다운을 선택해야합니다.selectByIndex (data) in Selenium 하이브리드 프레임 워크에서 임의의 값으로 드롭 다운

테스트 데이터 Test Data을 언급 한 필자의 입력 파일에는 정수로 된 열 Workgroup이 있습니다. 즉, 정수 형식의 드롭 다운에 대한 입력이 있습니다. 이는 드롭 다운의 인덱스 값일뿐입니다. 이제 두 번째 이미지에서 se.selectByIndex (데이터)가 문제를 일으키는 것을 볼 수 있습니다.

오류는 다음과 같습니다 유형에

메소드 selectByIndex (int)를 선택 인수 (문자열)

Code where error comes

public String selectDropdown(String object,String data){ 
    APP_LOGS.debug("Selecting dropdown values.");    
    try{ 
     WebElement _directoryDDL = driver.findElement(By.id(OR.getProperty(object))); 
      Select se = new Select(_directoryDDL); 
      se.selectByIndex(data); // This is where error is coming. I need to use only index. 
      return Constants.KEYWORD_PASS; 
     } 
    catch(Exception e1){ 
     return Constants.KEYWORD_FAIL+" Control not found."; 
     } 
    } 

난 못해 적용되지 않습니다 함께 selectByValue 또는 selectByVisibleText 사용자 당 드롭 다운 값이 변경되기 때문입니다. 그렇기 때문에 색인 값 만이 유일한 해결책입니다. 당신이 매개 변수를 문자열 유형입니다 데이터를 전달하는 반면

+0

이 오류를주는 이유는 Excel 시트에서 오는 인수로 데이터를 제공하기 때문입니다. 0 또는 1은 Excel에서 중요하지만 코드에서는 String 형식입니다. 이 문제를 해결하는 방법? – Rav

답변

0

오류가 발생하면 String이 int가 필요한 곳에 전달됩니다. Integer.parseInt(String s) 또는 Integer.parseUnsignedInt(String s)

+0

정말 고마워. – Rav

0

selectByIndex 방법은, 정수 인수를 기대하고있다. 그것이 오류를주는 이유입니다. String을 Integer로 변환하는 코드는 다음과 같습니다.

se.selectByIndex(Integer.parseInt(data)); 
+0

valueOf도 작동 중입니다.이 질문에 시간을내어 주셔서 감사합니다. – Rav

0

Selenium WebDriver에서 사용하는 언어에 따라 문자열을 정수로 변환하면됩니다.

Convert a String to a Number

그렇지 않으면 예외를 얻을 것 등, 입력 문자열이 "0"숫자, 즉 "1"로되어 있는지 확인하십시오.