如何在ProtractorJS中使用.isdisplay()和.each()
How to use .isDisplayed() with .each() in ProtractorJS for Angular
我在我的Angular应用程序中设置了一个测试,进入并点击一个元素,它应该看看是否显示某个对象。我觉得下面的代码应该可以工作,尽管我知道isdisplay()是针对单个元素而不是多个元素。我知道有一个。each()函数,但不确定它如何适合这个。我如何使用。each()与isdisplay ()?
it('should flip cards and check to make sure graph is visible', function(){
var cards = element.all(by.repeater('card in cards'));
var backOfCard = element.all(by.css('#current-status ul li .back canvas'));
expect(browser.getCurrentUrl()).toEqual('http://localhost:8000/app/#/dashboard');
expect(cards.count()).toBe(4);
cards.click().then(function(){
expect(backOfCard.isDisplayed()).toBe([true, true, true, true]);
});
});
实际上可以在ElementArrayFinder
上调用isDisplayed()
:
expect(backOfCard.isDisplayed()).toBe([true, true, true, true]);
也可以在这里使用map()
:
var values = backOfCard.map(function (elm) {
return elm.isDisplayed();
});
expect(values).toBe([true, true, true, true]);
并且,您甚至可以reduce()
它有一个布尔值来检查:
var allDisplayed = backOfCard.reduce(function (acc, elm) {
return elm.isDisplayed().then(function (isDisplayed) {
return isDisplayed && acc;
});
}, false);
expect(allDisplayed).toBeTrue();
相关文章:
- jquery.each(第2行)添加背景色
- 如何使用jQuery each分离字符串中的元素
- {{#each}}内部的Handlebar帮助程序
- 为什么我可以在Array属性对象中找到Javascript Array for Each方法
- Jquery.each数组推送不起作用
- 调用$.each()函数时上下文发生变化
- 鉴于 for..在构造中,库提供的函数(如 jQuery.map() 或 _.each())有什么用
- Underscore each to update collection
- Rails:试图在javascript(Google Charts API)中嵌入一个adv-ruby(each+迭代器
- Javascript For each json
- jQuery each()没有'使用OOP方法是行不通的
- 替换.each语句中字符串中的字符
- this内部的值返回this.each(function(){})
- jQuery在.each中查找前面的元素标签
- jquery.each函数和传递变量
- each()-将额外的参数传递给回调参数
- 为什么我不能用for Each迭代对象
- Backbone + RequireJS: Collection.each() is not working
- Coffeescript jQuery each loop
- 如何在ProtractorJS中使用.isdisplay()和.each()