Cypress тестирование формы - PullRequest
0 голосов
/ 13 ноября 2018

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

Ответы [ 2 ]

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

Я предполагаю, что у вас может быть форма, в которой вам нужно вводить число unique в текстовое поле каждый раз, когда вы вызываете форму.

Приведенный ниже javascript передает уникальный номер в const uniqueValue каждый раз, просто передайте это const value в поле типа;

describe('Test for unique value', () => {
    it('Receive unique value always in text input', () => {
     const uniqueValue = (new Date()).getTime() + Math.trunc(365 * Math.random());
     console.log(uniqueValue); 
     cy.wait(2000)
     cy.visit('some_url_here')
     cy.get('#yourtextinput').type(uniqueValue);
    })

Другой способ - создать функцию javascript отдельно и назначить ее в const myUnique = getUniquevalue(); в тесте на кипарис. Передайте это myUnique в команде type в кипарисе.

function getUniquevalue(){
 const uniqueValue = (new Date()).getTime() + Math.trunc(365 * Math.random());
 return uniqueValue;
}

см. Ниже вывод консоли:

enter image description here

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

Насколько я понимаю, вы хотите вводить уникальное значение каждый раз, когда выполняете свои тесты, а не редактировать вручную жестко закодированное значение.И вы достигаете этого, открывая некоторые другие формы (всплывающее окно в вашем случае) в качестве обходного пути.Что ж, вам нужно сгенерировать UIID для этой цели в вашем коде.

UUID (универсальный уникальный идентификатор), также известный как GUID (глобальный уникальный идентификатор), согласно RFC 4122, являются идентификаторами с определенной гарантией уникальности.

Самый простой способ добиться этого - импортировать пакет npm и использовать его.Для этого существует множество пакетов, вы можете выполнить поиск, чтобы выбрать один из них.Одним из них является changejs (включает в себя множество других функций, а также ..).Проверьте это https://chancejs.com/miscellaneous/guid.html

...