2 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以根據(jù)以下內(nèi)容隨機(jī)化類(lèi)別:
const picked = Math.floor(Math.random()*3); // this gives you a random value from 0 - 3;
// using template string literals - we can add that into picked
cy.get(`div.tickets-info > div:nth-child(`${picked}`) > span > b`).type(3, {force: true})
從picked - 你可以有一個(gè)與類(lèi)別相關(guān)的元素?cái)?shù)組:
const categories = ["Junior", "student", "normal", "senior"]
您還可以將門(mén)票的值categories作為對(duì)象并將其用于計(jì)算總數(shù)。
const categories = [{
type: "junior",
value: 5
}, {
type: "student",
value: 3
}, {
type: "normal"
value: 10
}, {
type: "senior",
value: 3
}]
你可以說(shuō),使用選擇的值來(lái)計(jì)算總金額
const value = categories[picked].value * random_amount;
cy.get(".sum-field label:nth-child(1)").should("contain", value) // total

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
我需要對(duì)我們的應(yīng)用程序做同樣的事情,所以我想出了一個(gè)自定義命令來(lái)輕松實(shí)現(xiàn)這一點(diǎn)。這是我提出的代碼cypress/support/commands.js:
Cypress.Commands.add('any', { prevSubject: 'element' }, (subject, size = 1) => {
return cy.wrap(subject).then(elementList => {
// this line enables me to use this command with either cy.get() or cy.wrap()
elementList = (elementList.jquery) ? elementList.get() : elementList;
elementList = Cypress._.sampleSize(elementList, size);
elementList = (elementList.length > 1) ? elementList : elementList[0];
return cy.wrap(elementList);
});
});
我還可以在自定義命令中使用帶有Cypress.log()的自定義日志記錄。為了清楚起見(jiàn),我從上面的代碼中刪除了它。
然后,您可以像使用任何其他 cy 命令一樣在測(cè)試中使用它:
cy.get('div.tickets-info > div > span > b').any().type(3,{force:true});
或者如果您需要多個(gè):
cy.get('div.tickets-info > div > span > b').any(2).each(element => {
cy.wrap(element).type(2, { force: true });
});
添加回答
舉報(bào)