#javascript #loops #foreach #automation #cypress
Вопрос:
итак, я новичок в cypress и хочу создать цикл с помощью forEach, но не знаю, как его применить. Я хочу сделать этот текущий кодовый блок СУХИМ. У кого-нибудь есть какие-нибудь советы о том, как бы я это сделал? Он должен повторяться каждый день недели и каждый раз меняться между «первым» и «последним». Я предоставил код, который пытаюсь сжать. Надеюсь, что этой информации достаточно — я впервые пишу здесь, так что буду очень признателен за любые советы!
cy.get('#button').click();
cy.get('#income-button').click();
cy.contains('Starts on').click();
cy.contains('First').click({force: true});
cy.wait(50);
cy.contains('Monday').click({force: true});
cy.contains('Starts on').click({force: true});
cy.contains('Last').click({force: true});
cy.wait(50);
cy.contains('Tuesday').click({force: true});
cy.contains('Starts on').click({force: true});
cy.contains('First').click({force: true});
cy.wait(50);
cy.contains('Wednesday').click({force: true});
cy.contains('Starts on').click({force: true});
cy.contains('Last').click({force: true});
cy.wait(50);
cy.contains('Thursday').click({force: true});
cy.contains('Starts on').click();
cy.contains('First').click({force: true});
cy.wait(500);
cy.contains('Friday').click({force: true});
cy.contains('Starts on').click({force: true});
cy.contains('Last').click({force: true});
cy.wait(500);
cy.contains('Saturday').click({force: true});
cy.contains('Starts on').click({force: true});
cy.contains('First').click({force: true});
cy.wait(500);
cy.contains('Sunday').click({force: true});
cy.contains('Starts on').click({force: true});
cy.contains('Last').click({force: true});
cy.wait(500);
cy.contains('Monday').click({force: true});
cy.contains('Starts on').click();
cy.contains('First').click({force: true});
cy.wait(500);
cy.contains('Tuesday').click({force: true});
cy.contains('Starts on').click({force: true});
cy.contains('Last').click({force: true});
cy.wait(500);
cy.contains('Wednesday').click({force: true});
cy.contains('Starts on').click({force: true});
cy.contains('First').click({force: true});
cy.wait(500);
cy.contains('Thursday').click({force: true});
cy.contains('Starts on').click({force: true});
cy.contains('Last').click({force: true});
cy.wait(500);
cy.contains('Friday').click({force: true});
cy.contains('Starts on').click({force: true});
cy.contains('First').click({force: true});
cy.wait(500);
cy.contains('Saturday').click({force: true});
cy.contains('Starts on').click({force: true});
cy.contains('Last').click({force: true});
cy.wait(500);
cy.contains('Sunday').click({force: true});
Ответ №1:
Вы можете создать массив строк, содержащих все дни, а затем добавить цикл For, что-то вроде этого:
var days = [
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday',
'Sunday',
]
for (var index in days) {
cy.contains(days[index]).click({force: true})
cy.contains('Starts on').click({force: true})
cy.contains('Last').click({force: true})
cy.wait(50)
}