Javascript 量角器-给予“;找不到元素“的可测试性”;访问元素时出错

Javascript 量角器-给予“;找不到元素“的可测试性”;访问元素时出错,javascript,angularjs,testing,jasmine,protractor,Javascript,Angularjs,Testing,Jasmine,Protractor,在访问存储“elements.all”返回值的变量时,我遇到了量角器的问题。我对量角器相当陌生,所以我不确定如何通过自定义属性选择元素。幸运的是,当我在另一个帖子中发布了一个帖子时,我收到了一个建议。有人建议我试试--“element.all(by.css('[mycustomid]');”。但我不确定该语句是否有效,因为我得到了“找不到元素的可测试性”错误。也可能是我错误地迭代了对象。如果你们中有人能指出我的错误,我将不胜感激。谢谢 Spec.JS var settings = require

在访问存储“elements.all”返回值的变量时,我遇到了量角器的问题。我对量角器相当陌生,所以我不确定如何通过自定义属性选择元素。幸运的是,当我在另一个帖子中发布了一个帖子时,我收到了一个建议。有人建议我试试--“element.all(by.css('[mycustomid]');”。但我不确定该语句是否有效,因为我得到了“找不到元素的可测试性”错误。也可能是我错误地迭代了对象。如果你们中有人能指出我的错误,我将不胜感激。谢谢

Spec.JS

var settings = require(__dirname + '/setting.json');
describe('Protractor Demo App', function() { 
    var target = element.all(by.css('[mycustom-id]')); 

    beforeEach(function() {
       browser.get(settings.url);
    });     

    it('Test mouseover', function() {       

       // This does not work
       target.each(function(item){
          //Do some stuff here
       });     

       // This does not work either
       target.count().then(function(x){
         console.log("Total--" + x);
       });
    });

});
index.html

<div>
    <a mycustom-id="123" href=''>HELLO1</a>
    <a mycustom-id="211" href=''>HELLO2</a>
</div>

将事物置于Jasmine函数之外不是一个好的做法,即在
It()
beforeAll()
等之外。量角器使用这些Jasmine函数来管理控制流

所以我猜它是在试图以比它应该的方式创建这些Web元素。将元素定位器移动到
it()
块内

it('Test mouseover', function() {       
   var target = element.all(by.css('[mycustom-id]')); 
   target.each(function(item){
      //Do some stuff here
   });
});

我得到这个错误是因为我需要在配置文件中将useAllAngular2AppRoots设置为true。所以,如果有人有类似的问题,请确保您已将UseAllar2Approots设置为True。

我也尝试过,但每次访问“target”时仍会得到“找不到元素的可测试性”。谢谢你的回复。很有趣。错误是否给出了失败的代码行,是
it()
块吗?我怀疑browser.get()可能来自“target.each”行。因为只要我把那行注释掉,错误就消失了。它只是不让我进入“目标”哈,奇怪。以前也从未见过这种错误
target.count()…
是否会引发相同的错误?还有,你们使用的量角器是什么版本的?好的,在我同事的帮助下,我明白了。我只需要在配置文件中将userAllAngular2AppRoots设置为true。但是非常感谢你的帮助。