Я новичок в транспортире. В соответствии с политикой моей компании я не могу использовать xpath. Я борюсь со следующим кодом.Я очень ценю ваш ответ - PullRequest
0 голосов
/ 19 марта 2019

У нас есть небольшое приложение AngularJs, и я хочу написать несколько сценариев тестирования автоматизации, использующих текущую инфраструктуру cucumber-protractor-typcript. Я беспокоюсь о том, чтобы писать надежные локаторы как новички в приложениях Angular.

Ниже приведен пример кода HTML. Здесь я хочу написать локатор для выпадающего значка:

<span class="mat-expansion-indicator ng-tns-c22-597 ng-trigger ng-trigger-indicatorRotate ng-star-inserted" style="transform: rotate(1800deg);"></span>

Вот мой локатор xpath:

expandedBrandIcon = element(by.xpath("//h2[contains(text(),'Brand')]/ancestor::mat-expansion-panel-header//span[contains(@style,'180deg')]

1 Ответ

0 голосов
/ 25 марта 2019

Если вы хотите выбрать элемент на основе содержащего текста, как вы это делали с XPath, чистый CSS не может этого сделать.Попробуйте это для CSS-селектора (лучше всего я могу использовать с предоставленным вами HTML):

div.ng-star-inserted span.mat-expansion-indicator[style='180deg']
...