Angular E2E тестирует получение скрытых элементов для показа только во время E2E - PullRequest
0 голосов
/ 24 мая 2018

В настоящее время я использую browser.executeScript для изменения скрытых элементов, которые будут отображаться во время E2E.

В моих app.po.ts у меня есть функция для установки display в inline.

    browser.executeScript('arguments[0].style.display = "inline"',getHiddenElements());

По умолчанию скрытые элементы имеют css display = none, поэтому он не будет отображаться во время prod / dev.

Мой шаблон скрытого компонента:

.hidden{
    display: none;
}

<div class="hidden">
   ...... my hidden elements .......
</div>

Проблема: код в скрытом компоненте запускается, когда элементы тоже скрыты.Я предпочитаю не запускать его.В настоящее время я пытаюсь выполнить условную проверку в коде компонента, чтобы проверить наличие скрытого элемента в стиле css display, но я не могу добиться этого с помощью Renderer2 или ElementRef, чтобы получить css class.hidden.

Как я могу убедиться, что коды в скрытых элементах выполняются только во время тестирования E2E, но не в режиме dev / prod?В любом случае нужно проверить, является ли .hidden.display отсутствующим или встроенным в hidden.component.ts?

1 Ответ

0 голосов
/ 24 мая 2018

Попробуйте

browser.executeScript('arguments[0].style.display = "inline-block"',getHiddenElements());

или

browser.executeScript('arguments[0].style.display = "block"',getHiddenElements());
...