Создать опцию выбора с IDE Селен - PullRequest
1 голос
/ 08 января 2011

У меня есть 2 выбора для установки даты истечения срока действия кредитной карты, и я хочу проверить, правильно ли возвращается сообщение об ошибке после истечения срока действия карты. Единственная проблема, с которой я столкнулся, это то, что сейчас я не могу выбрать значение, срок действия которого истек, поскольку список начинается в январе 2011 года, срок действия которого еще не истек. Я думаю о том, чтобы использовать javascript в селене для введения известного значения с истекшим сроком годности. У кого-нибудь есть идеи о том, как это сделать, или предложения о том, как лучше это сделать?

Ответы [ 2 ]

1 голос
/ 08 января 2011

Вы можете использовать метод storeEval для запуска фрагментов JavaScript с помощью Selenium.JavaScript запускается в контексте объекта Selenium, поэтому вам нужно window.document, чтобы получить ссылку на документ (отсюда и причина для первой строки).

Этот фрагмент является JavaScript для добавления новой опции 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);

Вот копия / вставка моей записи Selenium 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 в Selenium для выбораопция.Конечно, вы всегда можете сделать option.setAttribute('selected',true) во фрагменте JavaScript, но если Selenium сделает это, это обеспечит выбор нового значения (так как оно не получится, если не сможет его найти).

0 голосов
/ 27 ноября 2013
    storeEval
    window.document.getElementsByName('descript')[0].value;
    element

...