用selenium webDriver缩放滑块

时间:2014-09-19 13:28:57

标签: html5 drag-and-drop selenium-webdriver jquery-ui-slider

当我使用selenium webDriver拖放时,我的滑块出现问题 我没有缩放,拖放之前和之后的值是相同的!!

在我的代码下面

我的HTML代码

<input type="range" class="zoom-range" id="myrange" name="rmouse"  min="0.25" max="2.00" step="0.01" value="1"/>
<div id="blocToZoom">
    ....
</div>

我的硒代码:

WebElement slider = this.driver.findElement(By.id("myrange"));
System.out.println("The value of slider before dragDrop: "+slider.getAttribute("value"));
Actions move = new Actions(driver);
Action action = move.dragAndDropBy(slider, 30, 0).build();
action.perform();
System.out.println("The value of slider after dragDrop: "+slider.getAttribute("value"));

结果是相同的

The value of slider before dragDrop: 1
The value of slider after dragDrop: 1

这意味着拖放不起作用 所以有人可以帮我解决这个问题。

我也尝试使用此代码,但我有同样的问题

final WebElement slider = this.driver.findElement(By.id("myrange"));
System.out.println(slider.getAttribute("value"));
final Actions move = new Actions(this.driver);
final int Width = slider.getSize().getWidth();
final int Height = slider.getSize().getHeight();
final int MyX = (Width * 95) / 100;// spot to click is at 95% of the width
final int MyY = 1;// anywhere above Height/2 works
final Action actionDrag = move.dragAndDropBy(slider, MyX, MyY).build();
actionDrag.perform();
System.out.println(slider.getAttribute("value"));

PS:当我使用Selenium 2.41.0和firefox 30.0.1时,它可以正常工作 但现在我使用Selenium 2.43.0和firefox 32.0.1 也许就是这个问题!?

由于

1 个答案:

答案 0 :(得分:0)

我不认为成功的阻力会导致改变价值。我建议你将尺寸(30,0)更改为更大的范围。当前值显示您正在尝试在X轴上拖动滑块,而不是Y轴。请检查这个以及您想要更改的Axis