Angularjs 如何在paragrator.js中测试当前输入选择范围/光标位置?
我只是学习如何创建Angularjs 如何在paragrator.js中测试当前输入选择范围/光标位置?,angularjs,automated-tests,protractor,e2e-testing,Angularjs,Automated Tests,Protractor,E2e Testing,我只是学习如何创建angular.js指令。 我使用双向绑定的selectionRange控件为输入编写简单指令。 当范围变量改变时-输入中的选择范围也会改变 如何使用dragrator.js测试此行为? 我找不到任何方法来获取当前输入的选择范围/光标位置,甚至无法获取所选文本 您可以在此处找到并使用我的指令: Todo我想在这里实现的目标: 当您使用下面的表单更改$scope数据时,输入选择将更改。 我只想用test来描述这种行为,不知道如何在量角器环境中获取当前的selectionRang
angular.js
指令。我使用双向绑定的
selectionRange
控件为输入编写简单指令。当范围变量改变时-输入中的选择范围也会改变 如何使用
dragrator.js
测试此行为?我找不到任何方法来获取当前输入的
选择范围
/光标位置
,甚至无法获取所选文本
您可以在此处找到并使用我的指令:
Todo
我想在这里实现的目标:
当您使用下面的表单更改$scope数据时,输入选择将更改。我只想用test来描述这种行为,不知道如何在量角器环境中获取当前的
selectionRange
。指的是我最近在@trincot的帮助下解决的问题:
expect(browser.executeScript("return arguments[0].value.substring(arguments[0].selectionStart, arguments[0].selectionEnd);", elm.getWebElement())).toEqual("selected part of the input text");
这里的
selectionStart
和selectionEnd
用于获取输入中当前选定的文本。请您制作一个可复制的示例(可能是插页)?谢谢。@alecxe,你能给我看一下任何带有量角器环境的现成的量角器吗?我简直无法想象怎么写……不,你提供的演示就是我想要的。谢谢。请解释一下getWebElement
。它返回通常的HTMLElement
?@vp_arthelm
在本例中是ElementFinder
实例-由element()
调用返回的内容getWebElement()
如果我们将元素传递给脚本,现在需要调用它-它基本上从ElementFinder
返回一个常规的HTMLElement
。希望它有意义。@vp\u arth我还做了一个示例,这样在将元素作为参数传递到executeScript()
时就不需要显式调用getWebElement()
。但问题仍然存在。量角器测试用例读取-它可能比文档更有用:)