Ral*_*der 1 material protractor angular
我正在用量角器编写一些e2e测试。我的应用程序是Angular Material 2应用程序。在我的测试中,我想选择一个按值进行md-select的选项。当我检查打开的md-select时,我看到了md-option项。选项的值在属性ng-reflect-value中。
假设我有一个值为“ optionA”的选项。如何通过该值选择某个选项?
我尝试了这个:
element(by.name('myselect')).click();
$$('.mat-option').then((options) => {
...
});
Run Code Online (Sandbox Code Playgroud)
在内部,我会看到正确数量的选项,但是如何选择值为“ opetionA”的选项呢?
小智 6
这个例子有点粗糙,但是它展示了如何做你想做的事情:
的HTML:
<mat-form-field id="your-id">
<mat-select>
<mat-option [value]="1">1</mat-option>
<mat-option [value]="2">2</mat-option>
</mat-select>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)
ts:
function selectOptionByOptionValue(selectFormFieldElementId, valueToFind) {
const formField = element(by.id(selectFormFieldElementId));
formField.click().then(() => {
formField.element(by.tagName('mat-select'))
.getAttribute('aria-owns').then((optionIdsString: string) => {
const optionIds = optionIdsString.split(' ');
for (let optionId of optionIds) {
const option = element(by.id(optionId));
option.getText().then((text) => {
if (text === valueToFind) {
option.click();
}
});
}
});
});
}
selectOptionByOptionValue('your-id', '1');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4257 次 |
| 最近记录: |