Я использую TestCafe 1.8.1 и немного отличается от документации на https://devexpress.github.io/testcafe/documentation/recipes/test-select-elements.html - моя проблема в том, что в примере предполагается, что value
для <option>
и его текстовое содержимое будет таким же, и в моем случае value
является очень непредсказуемым значением.
Я могу без проблем выбрать элемент в раскрывающемся списке, используя .withText(value)
для фильтрации параметров и .click(item)
для его выбора. Однако мое приложение обновляет страницу и должно повторно выбрать соответствующий элемент при загрузке. Это не работает, и я хочу проверить его.
Так что у меня могут быть опции в select, например:
<select id="foo">
<option value="1234">100x100</option>
<option value="5432">200x100</option>
<option value="9999">100x200</option>
</select>
Очевидно, что если я проверю с .expect(citySelect.value).eql('London');
, как в документации он потерпит неудачу, потому что значения не похожи на текстовое содержимое, например, нажав «200x100» в раскрывающемся списке, значение станет «5432».
Нужно ли использовать ClientFunction
, чтобы получить текст выбранный предмет? Я понимаю, что довольно неудобно передавать данные в ClientFunction, нужно ли мне передавать id
выбора, чтобы ClientFunction могла getElementById
найти и выбрать текстовое содержимое выбранного параметра? Все это звучит как неправильный способ делать вещи.