通过在 Protractor 中放置特定值来端到端测试滑块
End to end testing sliders by putting a specific value in Protractor
我在 Angular 2 中有一些滑块输入,我想使用 Protractor 进行测试:
<input type="slider" min="0" max="100" ... />
我学会了像这样执行拖放操作:
browser.actions().dragAndDrop(slider, {
x: 30,
y: 0
}).perform();
expect(... )
问题是我希望能够检查页面上的另一个值是否根据滑块的新值发生了变化。似乎这种拖动滑块的技术因屏幕尺寸而异,因此我需要期望的值会根据测试 运行 所在的系统而有所不同。有没有更好的方法来测试拖动滑块?
有两件事要问:
首先,滑块本身的大小是固定的,还是会根据浏览器的大小而变化?如果是固定大小,不缩放,就不用担心了。
其次,是否要在测试开始之前设置特定的浏览器大小以将其锁定为一个结果?如果能锁定浏览器大小,总能得到预期的结果
作为一个实际的解决方案,这个滑块只有 0-100 的值,对吧?您可以考虑获取滑块宽度,然后根据根据该宽度计算的像素拖动它,以实现整体百分比,而不管滑块的大小如何。
编辑:用于设置浏览器大小
browser.manage().window().setSize(width, height);
我在 Angular 2 中有一些滑块输入,我想使用 Protractor 进行测试:
<input type="slider" min="0" max="100" ... />
我学会了像这样执行拖放操作:
browser.actions().dragAndDrop(slider, {
x: 30,
y: 0
}).perform();
expect(... )
问题是我希望能够检查页面上的另一个值是否根据滑块的新值发生了变化。似乎这种拖动滑块的技术因屏幕尺寸而异,因此我需要期望的值会根据测试 运行 所在的系统而有所不同。有没有更好的方法来测试拖动滑块?
有两件事要问:
首先,滑块本身的大小是固定的,还是会根据浏览器的大小而变化?如果是固定大小,不缩放,就不用担心了。
其次,是否要在测试开始之前设置特定的浏览器大小以将其锁定为一个结果?如果能锁定浏览器大小,总能得到预期的结果
作为一个实际的解决方案,这个滑块只有 0-100 的值,对吧?您可以考虑获取滑块宽度,然后根据根据该宽度计算的像素拖动它,以实现整体百分比,而不管滑块的大小如何。
编辑:用于设置浏览器大小
browser.manage().window().setSize(width, height);