Я использую CodeceptJS вместе с WebDriverIO для написания тестов E2E в моем приложении Angular.
В моем приложении Angular есть несколько веб-компонентов с теневым DOM. Я хочу получить ссылку на элементы внутри теневых корней и выполнить определенные действия, такие как щелчок, проверка текста и т. Д.
Однако я не уверен, как получить доступ к API WebDriverIO, который затем можно использовать дляполучить доступ к теневым корням. Как я понимаю, CodeceptJS сам по себе не обеспечивает уровень абстракции для доступа к элементам с теневыми корнями, поэтому я пытаюсь использовать WebDriverIO. В WebDriverIO была функция, которую можно использовать для доступа к элементам внутри теневых корней (https://webdriver.io/docs/api/element/shadow$.html)
Вот мои настройки:
codecept.conf.js
exports.config = {
output: './report/e2e',
helpers: {
WebDriver : {
smartWait: 5000,
url: 'http://localhost:4200',
browser: "chrome",
restart: false,
windowSize: "1920x1680",
timeouts: {
"script": 60000,
"page load": 10000
}
}
DomHelper:{
require: './e2e/src/helpers/dom.helper.js'
}
},
include: {
I: './e2e/src/steps_file.js'
},
mocha: {},
bootstrap: null,
teardown: null,
hooks: [],
gherkin: {
features: './e2e/src/features/**/*.feature',
steps: ['./e2e/src/step_definitions/basic.steps.js']
},
plugins: {
screenshotOnFail: {
enabled: true
},
wdio: {
enabled: true,
services: ['selenium-standalone']
}
},
tests: './e2e/src/**/*.test.js',
name: 'test-app'
};