我试图用量角器模拟我网站上的用户故事。
用户必须输入使用自动完成的输入。在现实生活中,用户必须在输入中键入一些文本,然后用鼠标或更自然的向下键选择正确的命题。
问题是我似乎不能用量角器来模拟。element.sendKeys不允许您这样做。我已经尝试了十几种不同的方式,它最多只能产生不可预测的结果。
因此,我想直接根据我的输入操作ng模型。有没有办法从量角器访问元素的作用域并在其上调用函数/设置属性?
以下是我的问题的简化版本:
视图:
<div ng-controller="MyController">
<input id="my-input" ng-model="myModel"/>
</div>
控制器:
myModule.controller('MyController', ['$scope', function($scope){
$scope.myModel = "";
//[...]
}]);
e2e量角器试验:
describe("setting myModel to a fixture value", function(){
it("should set myModel to 'a test value'", function(){
var myInput = element('my-input');
// Now what?
});
});
您可以使用.evaluate()
直接设置模型值:
var elm = element(by.model("obj.field"));
elm.evaluate("obj.field = 'test';");
要获取模型值,请执行以下操作:
elm.evaluate("obj.field").then(function (value) {
console.log(value);
});
问题内容: 我试图在量角器上设置一个全局变量,以在所有描述块中使用。 但这返回了以下错误: 我也看了这个问题:量角器angularJS全局变量 所以我试图以这种方式在conf.js中设置变量glob: 仍然有相同的错误。 如何在量角器测试中正确添加全局变量? 问题答案: 可以借助属性从量角器配置文件设置全局变量: 您可以使用规范中访问它。 请参阅参考配置文件。 params对象将直接传递到Prot
我试图在量角器测试用例中设置一个cookie。我们使用量角器3.3.0,Angular 1.5.x和Node.js 6.9.1 这是规格: 编辑: 我做了一些进一步的实验。请注意,我已经更改了域,并且在成功读取/写入cookie之前没有。 这是我得到的输出: 编辑4: 越来越近了!将域设置为(注意开头的点(.))似乎有效。会做进一步调查并报告。与此同时,如果有人能告诉我为什么这个点是重要的,以及为
问题内容: 我想在禁用缓存功能的情况下使用Firefox /量角器运行测试。(实际上,我正在尝试阻止304个HTTP响应)。 有多种方法可以做到这一点: 通过删除Etag标头从后端禁用缓存->我无法修改后端 从前端删除Etag标头->我试过了,没有用 从firefox禁用缓存:我只需要将标志设置为false 手动工作。我只收到200条回复,非常好。我希望能够通过量角器配置来设置此标志。经过一番搜索
![Frame Details][firebug正确显示了帧,但无法切换到帧]1 我正在尝试切换到id =所有设备的框架,但无法到达那里。我可以切换到任何其他框架,但不能切换到这个框架。以下是我尝试过的选项 browser.driver.switchTo(). frame('所有设备');browser.driver.switchTo(). frame(browser.driver.findEle
我希望能够使用JSDOM作为浏览器运行jasmine测试在angular使用Karma。 我使用以下命令安装了jsdom和karma-jsdom-launcher:
问题内容: 一个简单的问题:如何在html中设置作用域值,以供控制器读取? JSFiddle:http : //jsfiddle.net/ncapito/YdQcX/ 问题答案: 在循环内分配变量时不起作用。用 尾随会停止对任何文本求值的Angular表达式。 然后,您只需调用即可输出变量值。 我发现在迭代多个嵌套数组时这非常有用,我想将当前的迭代信息保留在一个变量中,而不是多次查询。