#javascript #multidimensional-array #cypress #e2e-testing
Вопрос:
В настоящее время я пытаюсь создать тест, который проверит все привилегии на основе массива объектов, переданных для приложения. Идея в том, что я бы передал массив и идентифицировал внутри каждого key
access
и type
, а затем выбрал эти элементы на веб-странице. Я не уверен, какова правильная структура цикла для этого, так как я чувствую, что вложенный цикл внутри цикла неправильный. Мой пример приведен ниже. Объект страницы-это всего лишь краткое описание того, о чем я в настоящее время думал для обработки внутреннего цикла, ни в коем случае не являющегося конечным продуктом. Я считаю, что есть лучший способ, возможно, использовать Кипарис больше, но я не уверен, как ценится любое понимание
// Spec Test
const permissions = [
"overview page" : {
view: false,
create: false,
edit: true,
},
"campaigns" : {
view: false,
create: false,
edit: true,
}
]
permissionPage.setPermissions(permissions)
//Page object
const permissions = [];
for (const [key, value] of Permissions.entries(permissions)) {
cy.get("tr").children("td").contains(key).parents("tr").children("td");
if (value === true) {
cy.clickOn(key)
}
}
}
Комментарии:
1. Это примерно так же хорошо, как вы можете получить, это следует примеру Cypress для тестирования на основе данных. Это немного неясно из — за того, что объект страницы скрывает детали, вам было бы лучше просто выполнять действия непосредственно в тесте-более понятный/поддерживаемый подход.