我正在使用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>
这只是一个数额滑块。
在我的测试中,我想点击滑块的任何位置,并检查出现在字段文本中的金额结果。
我已经为div定义了Page对象:
div(:slider_amount, :xpath => '//*[@id="simulatorParent"]/div[1]/div[1]/div[1]')
而且以后我可以在相应的步骤中使用它:
page.slider_amount_element.click
关于cheezy Page对象的参考:https://www.rubydoc.info/github/cheezy/page-object/PageObject/Accessors#div-instance_method
这样使用它,我可以在滑块的中间点击,这是可以的。但是,怎么可能在滑块的任何位置点击呢?
1条答案
按热度按时间mxg2im7a1#
你需要使用Selenium的ActionBuilder --特别是
#move_to
方法。不幸的是,Watir和Page-Object还没有构建一个动作的 Package 器(feature request #829)。所需代码为:
其中
page
是您的页面对象。