У меня есть следующая функция, которая находится внутри родительской функции.
function generate_random_string(string_length) { // A function that creates a random string and will later pass this to a variable
let random_string = '';
let random_ascii;
for(let i = 0; i < string_length; i++) {
random_ascii = Math.floor((Math.random() * 25) + 97);
random_string += String.fromCharCode(random_ascii)
}
return random_string
}
var random_string = generate_random_string(6)
У меня есть много применений для этого генератора случайных строк, внутри других тестовых файлов для различных сценариев.Вместо того, чтобы копировать и вставлять это каждый раз, я хочу повторно использовать эту функцию и вызывать ее внутри другого тестового файла.
Как мне это настроить?
Я попытался создать пользовательскую команду внутри файла commands.js
, например, так:
Cypress.Commands.add("random_string_gen",
function generate_random_string(string_length) {
let random_string = '';
let random_ascii;
for(let i = 0; i < string_length; i++) {
random_ascii = Math.floor((Math.random() * 25) + 97);
random_string += String.fromCharCode(random_ascii)
}
return random_string
})
Но это не сработало, когда я вызвал ее в своем тестовом файле:
cy.get('#name').click()
cy.get('#name').random_string_gen()
Я хочу повторно использовать функцию внутри одного файла и вызывать ее внутри другого, но я не уверен, как настроить необходимые файлы команды / индекса JS, поэтому шаблон, который поможет мне начать работу, будет очень полезен!