嗯,这就是代码应该做的。
有点像那样。但这就是问题所在。如果索引是一个,CC_TEST_COLLECTION_CLASS_ITEM 被调用一次。但是随着索引的增加,这个函数被调用了 n 次。如果 index=10,则调用 10 次,依此类推。由于某种原因,函数将相同的内容填充了 10 次。知道为什么会这样吗?
function CC_TEST_COLLECTION_CLASS_ITEMS(values: AObjectField[],collectionIndex: number)
{
cy.get("[dynamic-cy-id]").each((element, index, $list) => {
const parentClassName = element.parent().attr("class");
const fieldName = element.attr("dynamic-cy-id") ?? "";
if (!fieldName.includes("toggle")) { 让价值= values.filter((item) => item.Field === fieldName)[0].Value ?? “”;
if (parentClassName?.includes("ng-select-auto-save")) {
cy.CC_SET_NG_SELECT_VALUE_BY_INDEX(
`${collectionIndex}_${fieldName}`,
value
);
} else if (parentClassName?.includes("input-group")) {
cy.CC_SET_INPUT_VALUE_BY_INDEX(
`${collectionIndex}_${fieldName}`,
value
);
} else if (parentClassName?.includes("date-field")) {
cy.CC_SET_DATE_INPUT_VALUE_BY_INDEX(
`${collectionIndex}_${fieldName}`,
value
);
}
}
}); }
collectionClasses.forEach((collectionData) => {
it(`CollectionClass #${collectionData.Index}`, () => {
cy.CC_GET_byTestID("add-collection-btn").click().wait(1000).then(() => {
cy.CC_GET_ACCORDION_TOGGLE_BUTTON(collectionData.Index).click().wait(1000).then(() => {
const collectionClassValues = getCollectionClassValue(MOCK_DATA_COLLECTIONS_FL, collectionData.Index);
cy.CC_TEST_COLLECTION_CLASS_ITEMS(collectionClassValues, collectionData.Index).then(() => cy.CC_GET_ACCORDION_TOGGLE_BUTTON(collectionData.Index).click().wait(1000))
})
})
})
})