如何选择角度材料2和量角器的选项?

如何选择角度材料2和量角器的选项?

问题描述:

我正在用量角器写一些e2e测试。我的应用程序是一个Angular Material 2应用程序。在我的测试中,我想按值选择一个md-select选项。当我检查打开的md-select时,我看到了md选项。选项的值位于属性ng-reflect-value中。如何选择角度材料2和量角器的选项?

比方说,我有值“optionA”的选项。如何通过此值选择某个选项?

我尝试这样做:

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

和里面然后我看到一个选项正确的号码,但我怎么能选择具有价值“opetionA”的选项?

+0

只是好奇,为什么你想在E2E测试期间为客户选择一个基于不可见值的选项?使用可见值不是更好,这是在[this]中解释(https://*.com/questions/44073870/trouble-locating-angular-element-for-protractor-ui-nav-test/44089777 #44089777)回答 – wswebcreation

+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”]')。click(); –