Автоматизация с селеном (Java) углового приложения - PullRequest
0 голосов
/ 25 марта 2019

Мы используем селен (Java) для тестирования нашего веб-приложения. мы не хотим использовать X-путь, но уникальные идентификаторы.

В нашем угловом приложении мы используем общие компоненты, которые используются в нескольких местах. Это приводит к тому, что идентификаторы в шаблоне этого универсального компонента не будут уникальными. Мы решили передать уникальный идентификатор в качестве входных данных для универсального компонента, но мы не хотим добавлять ненужный код только из-за автоматизации.

Мы что-то упустили? Есть ли другое решение помимо входа, чтобы преодолеть эту проблему?

Ответы [ 2 ]

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

Если это не уникальный, это не идентификатор.

Тогда вполне нормально связать атрибут id с @Input, чтобы обеспечить уникальность идентификатора, встроенного в компонент.

Этот код не будет ненужным, поскольку он предотвращает нарушение семантики атрибута id.

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

Если ваше приложение имеет определенную структуру, почему бы не воспользоваться ей и не использовать селекторы документов для запроса ваших элементов?

Вот примеры:

const elements = [...document.querySelectorAll('div')];
const first = document.querySelector('div:nth-child(1)');
const second = document.querySelector('div:nth-child(2)');
const third = document.querySelector('div:nth-child(3)');

console.log(elements);
console.log([first, second, third]);
<div>first div</div>
<div>second div</div>
<div>third div</div>

Очевидно, используйте менее универсальные селекторы (например, в Chrome, проверьте элемент и щелкните правой кнопкой мыши -> «Копировать селектор элемента», вы получите уникальный селектор дляэтот элемент)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...