量角器改变元素的大小

时间:2016-10-06 16:31:35

标签: javascript angularjs selenium selenium-webdriver protractor

我可以使用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元素的大小。

1 个答案:

答案 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 sequencebrowser.action()可以利用

如果您有兴趣,我尝试了类似的东西 - drawing a signature using protractor