2009-09-25 2 views
8

select 요소에서 값을 선택하려고합니다. 나는 Selenium RC (Java)를 사용하여 테스트 케이스를 실행한다. 값을 선택하는 코드는 다음과 같이 표시됩니다.selectgroup에서 옵션을 선택하기 위해 Selenium을 사용합니다.

selenium.select("locator", "value=REQUIRED VALUE") 

위 코드에서 원하는 값을 선택할 수 없습니다. 나는 이것이 선택 소스 코드에서 optgroup과 관련이있을 것이라고 생각한다. 나는 예외를 얻지 않지만 명령은 잘 실행되지만 필요한 값을 선택하지 않은 페이지를보고 있습니다. 또한 값이 아닌 ID를 사용할 수 없기 때문에 사용할 수 없습니다. 다음은 선택기의 소스 코드입니다.

<select> 
    <optgroup label="Group1"> 
     <option value="13">some value1</option> 
     <option value="25">some value2</option> 
    </optgroup> 
    <optgroup label="Group2"> 
     <option value="18">REQUIRED VALUE</option> 
     <option value="34">some value3</option> 
     ... 
     ... 
    </optgroup> 
</select> 

Selenium을 사용하여 필요한 값을 선택할 수있는 방법이 있습니까?

옵션 값 (예 : "18", "34"등)은 값이 변경 될 때 나중에 변경되기 때문에 좋을 것입니다. 예를 들어 "REQUIRED VALUE"값은 -18이지만이 항목을 삭제하고 다시 추가하면 해당 값이 달라집니다. 기본적으로이 드롭 다운 상자는 동적입니다.

답변

13

예에서 필수 옵션 값은 '18'입니다. 다음을 시도해보십시오.

selenium.select("locator", "label=REQUIRED VALUE") 
+0

안녕하세요 Dave, 답장을 보내 주셔서 감사합니다. 그러나 18을 사용하는 것 외에 다른 방법이 있다고 생각합니까? 내 애플리케이션에서 드롭 다운의 내용이 변경되고 번호도 변경됩니다. 다른 말로하면, 지금은 그 모습을 보여 주지만 어떤 숫자라도 될 수 있습니다. 테스트를 여러 번 실행하더라도 이러한 수치는 변경됩니다. 할 수있는 일에 관해서 다른 아이디어가 있습니까? 한편 나는 내 질문에 대한이 의견을 업데이트 할 것이다. 고마워, 무겐 – Mugen

+1

내 대답을 다시 확인하십시오. 나는 'value ='를 'label ='로 바꾸라고 제안합니다. 이렇게하면 값 대신 해당 레이블을 기반으로 옵션을 선택할 수 있습니다. –

+1

답변 해 주셔서 감사합니다. 레이블과 완벽하게 작동합니다! – Mugen

관련 문제