我可以使用getSize
方法给出元素的大小,但我无法知道如何更改该元素的height
(例如)。
如果最终用户可以调整textarea
元素的大小,只是提供一些我想要测试的上下文。我应该只设置高度,还是模拟用户与元素交互的方式。
提前致谢
解决方案
我的实现如下:
myElement.getSize().then(function(result){
browser.driver.actions()
.mouseMove(inputElement, {x: result.width-1, y: result.height-1})
.mouseDown()
.mouseMove(inputElement, {y: newHeight })
.mouseUp()
.perform()
});
这允许我模拟用户交互调整textarea元素的大小。
答案 0 :(得分:2)
您可以使用browser.executeScript()
来修改Protractor中元素的高度。下面的内容应该适合您
browser.executeScript('$("div").height(500)').then(function(){
$("div").getSize().then(function(eleSize){
console.log('element size: '+eleSize);
expect(eleSize.height).toEqual(500);
});
})
您可以将此元素作为参数传递给browser.executeScript()
如果你真的想要模拟点击&amp ;;的最终用户行为拖动文本框边界,是的可能。关键是创建action sequence并browser.action()可以利用
如果您有兴趣,我尝试了类似的东西 - drawing a signature using protractor