量角器从下拉列表中选择值,使用mat-select实现

时间:2018-08-01 16:21:51

标签: typescript xpath css-selectors protractor angularjs-e2e

我正在寻找写一个量角器方法,该方法将从下拉菜单中选择值。下拉列表包含4个值,其中之一是“ Delta”。如何从此选择器中选择值,因为它没有我可以使用的任何选项标签。

我意识到实际的选项在另一个标签下。如何选择选项?以下似乎无效。

element(by.cssContainingText('mat-select-panel mat-select-content .mat-option .mat-option-text','Fund'))             .click();

enter image description here

enter image description here

3 个答案:

答案 0 :(得分:2)

这就是我解决的方法。首先,我必须单击dorpdown,然后再次单击以选择值。

element(by.tagName('mat-toolbar')).element(by.tagName('mat-select')).click();

element(by.cssContainingText('mat-option .mat-option-text', 'Delta')).click();
browser.waitForAngular();

感谢您的指导。赞赏。

答案 1 :(得分:0)

by.cssContainingText是一种解决方案。要获取包含文本“ Delta”的元素,可以执行element(by.cssContainingText('span','Delta'));

此外,类似的质量检查(不是伪造)可能对您有用:dropdown select by visible text

答案 2 :(得分:0)

选项的HTML代码在mat-select节点之外。不在mat-select节点中找到它们。

// click the down arrow at right side to expand options
element(by.css('mat-select#mat-select-8 .mat-select-arrow-wrapper')).click();
// choose desired option
element(by.xpath('//mat-option[.="Delta"]')).click();