Использовать сгенерированную строку в другом поле - PullRequest
0 голосов
/ 31 мая 2019

У меня есть несколько полей на веб-странице. Первые два поля требуют ввода уникальной строки при каждом запуске набора тестов. У меня есть код, который генерирует случайную строку в первом поле «Имя». Я хочу скопировать любую строку, сгенерированную во второе поле «Метка», чтобы они совпадали.

Я пытался использовать функцию копирования, но в Cypress это работает неправильно. Я также попытался зарегистрировать значение, созданное в функции генерации, а затем использовать это зарегистрированное значение в следующем тесте. Но это тоже не сработало. Я не уверен, есть ли способ обойти это?

Код для генерации случайной строки в первом поле:

cy.get('#Name')
        .should('exist')

        .type(Name_Alpha_Numeric())
            // Enter random string
            function Name_Alpha_Numeric() {
                var text = "";
                var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

                for (var i = 0; i < 10; i++)
                text += possible.charAt(Math.floor(Math.random() * possible.length));

                return text;
            }

Надеюсь, что это очень простое решение.

1 Ответ

0 голосов
/ 31 мая 2019

Это должно работать:

// 0. write the function
function Name_Alpha_Numeric() {
    var text = "";
    var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

    for (var i = 0; i < 10; i++)
    text += possible.charAt(Math.floor(Math.random() * possible.length));

    return text;
}

// 1. generate the string and store it in a variable
const randomName = Name_Alpha_Numeric()

// 2. type it in
cy.get('#Name').type(randomName)

// 3. verify that #Label also has this text
cy.get('#Label').should('have.text', randomName)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...