2016-11-07 3 views
1

"elements.all"の戻り値を格納する変数にアクセスするときは、分度器に問題があります。私は分度器にはかなり新しいので、カスタム属性で要素を選択する方法がわかりませんでした。幸いにも、別の投稿にquestionを投稿したときに、私は提案を受けました。 "element.all(by.css( '[mycustom-id]'));"を試してみることを提案しました。しかし、「要素のテスト容易性が見つかりませんでした。」というエラーメッセージが表示されるかどうかはわかりません。私はオブジェクトを間違って反復している可能性もあります。あなたの誰かが私の間違いを指摘できるかどうか感謝します。ありがとう。それはすなわちit()の外に、ジャスミンの機能の外で物事を置くために良い習慣ではありません分度器 - 要素にアクセスするときに "要素のテスト容易性を見つけることができませんでした"エラーを返します

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> 

答えて

1

設定ファイルでuseAllAngular2AppRootsをtrueに設定する必要があるため、このエラーが表示されます。だから、誰かが似たような問題を抱えている場合は、useAllAngular2AppRootsをTrueに設定してください。

0

beforeAll()など分度器これらのジャスミン関数を使用して制御フローを管理します。

私はそれがそうすべきである前にそれらのwebElementsの方法を作成しようとしていると推測しています。要素のロケータをit()ブロック内に移動します。

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

私もそれを試しましたが、 "ターゲット"にアクセスするたびに "要素のテスト容易性を見つけることができませんでした。返信ありがとう。 – user30646

+0

興味深い。エラーが失敗したコード行を与えますか? 'it()'ブロックですか?私はbrowser.get()の疑いがあります – Gunderson

+0

おそらく "target.each"行からです。その行をコメントアウトするとすぐに、エラーはなくなります。それはちょうど私に "ターゲット"にアクセスさせません – user30646

関連する問題