Как щелкнуть в любой позиции слайдера, используя ruby-watir-cucumber и объект страницы? - PullRequest
0 голосов
/ 29 января 2019

Я использую Ruby + Watir + Cucumber + Watir + CeezyPO + .... и в одном тесте у меня есть следующий элемент div:

<div class="slider-importe ui-slider ui-corner-all ui-slider-horizontal ui-widget ui-widget-content"><div class="ui-slider-range ui-corner-all ui-widget-header ui-slider-range-min" style="width: 50.3384%;"></div><span tabindex="0" class="ui-slider-handle ui-corner-all ui-state-default" style="left: 50.3384%;"></span></div>

, который является просто ползунком количества.

В моем тесте я хотел бы щелкнуть по любой позиции ползунка и проверить результат суммы, который появляется в тексте поля.

Я определил объект Page для div:

div(:slider_amount, :xpath => '//*[@id="simulatorParent"]/div[1]/div[1]/div[1]')

И позже я могу использовать его на соответствующем шаге:

page.slider_amount_element.click

Ссылка на cheezy Page Object: https://www.rubydoc.info/github/cheezy/page-object/PageObject/Accessors#div-instance_method

Используя его таким образом, я могу щелкнуть в середине ползунка, и это нормально.Но как можно нажать на любую позицию слайдера?

1 Ответ

0 голосов
/ 29 января 2019

Вам потребуется использовать ActionBuilder от Selenium, в частности, метод #move_to.К сожалению, Watir и, следовательно, Page-Object, еще не создали оболочку для действий ( запрос функции # 829 ).

Необходимый код:

xoffset = 50      # how far right from the top-left corner
yoffset = 100     # how far down from the top-left corner
page.browser.driver.action.move_to(page.slider_amount_element.element.wd, xoffset, yoffset).click.perform

Где page - ваш PageObject.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...