2015-04-27 4 views
0

Я использую watir для тестирования/запуска через мой сайт.Вариант выбора Ватира нет в списке

Мне интересно, можно ли использовать watir для установки значения списка выбора, которого нет в списке опций. Я заметил, что с Ruby Mechanize вы можете просто установить значение поля, но это не то же самое с Watir.

Дополнительные детали (Извлеченные из комментариев):

Там является выбор для размера страницы (т.е. сколько элементов для отображения на странице) с именем PAGESIZE. Возможные значения: 5, 10, 20 и 30. Однако для целей тестирования я хотел бы отображать больше (например, 100). Я использую browser.select_list (: name, "pageSize"). Выберите «30», чтобы выбрать 30. Но browser.select_list (: name, «pageSize»). Select «100» не будет работать, поскольку нет опция со значением 100.

Как я могу заставить страницу вернуть 100 значений на страницу?

Спасибо!

+0

Не могли бы вы добавить пример того, что вы имели в виду? – Johnson

+0

Конечно! Существует выбор для размера страницы (т. Е. Количества элементов, отображаемых на странице) с именем pageSize. Возможные значения: 5, 10, 20 и 30. Однако для целей тестирования я хотел бы отображать больше (например, 100). Я использую 'browser.select_list (: name," pageSize "). Выберите« 30 », чтобы выбрать 30. Но' browser.select_list (: name, «pageSize»). Выберите «100» 'wouldn ' т, так как нет значения со значением 100. – Vasseurth

+0

Я не думаю, что это возможно. Watir должен возвращать «Watir :: Exception :: NoValueFoundException», если значение не существует в качестве опции. https://github.com/watir/watir-webdriver/blob/master/lib/watir-webdriver/elements/select.rb#L57 – Johnson

ответ

2

Watir предназначен для того, чтобы делать то, что пользователь может делать на странице для целей тестирования. При этом многие из этих выпадающих списков размера списка обновляют URL-адрес, часто приводя к такой странице, как: http://example.com/sprockets?per_page=10

Если это так, то вы можете очистить, а затем изменить значение в URL-адресе посмотрите, что вы хотите.

+0

Я вижу, это полезно. Знаете ли вы, есть ли способ просто добавить это к концу URL-адреса? – Vasseurth

+2

Ну, вам нужно выяснить строку нужного вам URL-адреса и перейти к ней, как обычно, с '' 'browser.goto'''. Вы можете жестко ее кодировать или получить текущий' '' browser.url '' 'и добавьте любое значение, необходимое для' '' '? per_page = 100''' и т. д. – titusfortner

+0

вкратце, посмотрите на существующий url для страницы после того, как вы установили размер страницы. Если вы видите размер страницы в качестве параметра строки запроса, возможно, вы можете обмануть не поддерживаемое значение. Если это не параметр, а значение сохраняется в другом месте. Поэтому посмотрите на файлы cookie и значения заголовков HTTP-запроса, которые могут быть сохранены в одном из этих мест. Если это не серверная сторона, и вы не можете сделать это –