2017-05-29 15 views
0

私は分度器でいくつかのe2eテストを書いています。私のアプリケーションはAngular Material 2アプリケーションです。私のテストでは、値でmd-selectのオプションを選択したいと思います。開いているmd-selectを調べると、md-optionの項目が表示されます。オプションの値はng-reflect-value属性にあります。角材2と分度器でオプションを選択するにはどうすればよいですか?

私は値が "optionA"のオプションがあるとしましょう。この値で特定のオプションを選択するにはどうすればよいですか?

私はこの試みた:

element(by.name('myselect')).click(); 
$$('.mat-option').then((options) => { 
    ... 
}); 

をし、内部の私はオプションの正しい数を見るが、どのように私は「opetionA」の値を持つオプションを選択することができますか?

+0

E2Eテストで顧客の目に見えない価値に基づいてオプションを選択したいのはなぜですか?可視値を使用する方が良いのではないでしょうか?これについては[this](https://stackoverflow.com/questions/44073870/trouble-locating-angular-element-for-protractor-ui-nav-test/44089777)で説明しています。 #44089777)答え – wswebcreation

+1

はい、そうです。それがより良い解決策かもしれません。 –

答えて

1

セレクタで期待値を追加することで、cssセレクタを「ダイナミック」にすることができます。例

// I've place the expected value in a var to make it more clear 
 
const optionValue = 'your-option-value'; 
 

 
// Open select 
 
element(by.name('myselect')).click(); 
 
// Click on the option with your selected value 
 
$(`.mat-option[value="${optionValue}"]`).click();

のために私はこのことができます願っています。

+0

値は角度材料2のの属性ではありませんが、これは私にとってはうまくいきます: $( '。mat-option [ng-reflect-value = "optionA"]')。 –

関連する問題