2011-01-07 3 views
1

신용 카드의 유효 기간을 설정하는 데 2 ​​개의 선택 항목이 있으며 카드 만료시 오류 메시지가 올바르게 다시 나타나는지 테스트하고 싶습니다. 내가 가진 유일한 문제는 지금 당장 만료되지 않은 2011 년 1 월에 목록이 시작되기 때문에 만료 된 값을 선택할 수 없다는 것입니다. 내가 뭘 생각하고 셀레늄에 알려진 된 만료 된 값을 주입하는 자바 스크립트를 사용하고 있습니다. 누구든지이 작업을 수행하는 더 좋은 방법을 제안하거나 제안하는 방법에 대한 아이디어가 있습니까?셀렌 IDE를 사용하여 선택 옵션 만들기

답변

1

storeEval 메서드를 사용하면 Selenium을 사용하여 JavaScript 스 니펫을 실행할 수 있습니다. JavaScript는 Selenium 객체의 컨텍스트에서 실행되므로 문서 참조를 얻으려면 window.document이 필요합니다 (따라서 첫 번째 줄의 이유).

이 조각은 새로운 옵션에게 select 요소를 추가하기위한 자바 스크립트입니다 :

var d = window.document; 
var select = d.getElementsByName("selectName")[0]; 
var option = d.createElement('option'); 
option.value='Value'; 
option.innerHTML='My new option'; 
select.appendChild(option); 

여기 당신을 위해 내 셀레늄 IDE 항목의 복사/붙여 넣기합니다.

<tr> 
<td>storeEval</td> 
<td>var d = window.document;var select = d.getElementsByName(&quot;selectName&quot;)[0];var option = d.createElement('option');option.value='Value';option.innerHTML='My new option';select.appendChild(option);</td> 
<td></td> 
</tr> 

은 그럼 그냥 옵션을 선택하는 셀레늄의 표준 select 방법이있을 수 있습니다. 물론 JavaScript 스 니펫에서는 option.setAttribute('selected',true)을 항상 수행 할 수 있지만 Selenium을 사용하면 새로운 값이 선택되었는지 확인할 수 있습니다 (찾을 수 없으면 오류가 발생 함).

+0

나는 오히려 storeEval보다는 ('expYear') 그래서 전자 업계 = document.getElementById를 같이 실행 스크립트를 사용하여 작업 있어요; ele.options [ele.options.length] = 새로운 옵션 ('2005', '2005') ; ele.selectedIndex = ele.options.length -1 – dstarh

0
 
    storeEval 
    window.document.getElementsByName('descript')[0].value; 
    element