2017-03-20 8 views
1

私は現在、アプリの分度器テストを書いています。しかし、アプリケーションでは、私が仕事をしたい部分がコントローラなので、コントローラを構文として使用しています。問題は、 "" $ ctrl.functionName ""セレクタを使用すると、私に不正なselector文が渡されることです。分度器でコントローラを構文としてテストするにはどうすればよいですか?

誰でもこれについてのアイデアはありますか?

let btn = $$("button[ng-click^=$ctrl.initRequest].secondary.bf-btn"); 
     expect(btn.isDisplayed()).toBe(true); 

エラーメッセージは、要素に意味のあるidまたは他の属性を割り当てることができない場合は、あなたの現在のセレクターを修正する必要が

Failed: invalid selector: An invalid or illegal selector was specified 
+0

コードを共有してください。 –

+2

低レベルの実装の詳細を選択するのではなく、セマンティックIDまたはクラスをボタンに割り当てないのはなぜですか?このテストでは、コントローラ対コントローラを気にする必要はありません。ボタンは "init-request"(たとえば)で識別され、表示されているかどうかをテストする必要があります。 –

+0

私は今から、アプリケーションの多くの機能に厳密なIDが与えられていないので、これを行う必要があると思います。 idとidをボタンと要素に入れ始めるには、その上で作業している人にメールを送る必要があります。 –

答えて

1

です。

button[ng-click^='$ctrl.initRequest'].secondary.bf-btn 

も注意引用符を必要としないわずかに良いバージョンは、部分一致を使用するのであろうと::

button[ng-click*=initRequest].secondary.bf-btn 

少なくとも、ng-click値の前後に引用符があるはずです疑問のあるクラスを削除して、次のようなことができるかどうかを確認してください:

button[ng-click*=initRequest] 
+0

これは完全に動作します!どうもありがとう!チームの残りのメンバーは今どこにいてもIDの指導を受けています! –

関連する問題