Cypress: Как я могу использовать любую переменную / элемент блока описания в другом блоке описания? - PullRequest
0 голосов
/ 08 июля 2019

//Enter data and add the customer profiles
describe('Enter data to New profiles', function() {
    it('Enter cuatomer details and add the customer profile', function() {

        //Dynamic Customer profile Name

        const todaysDateTime = Cypress.moment().format('MMMDDYYYYSS')
        const profileName = 'ProfileName-' + todaysDateTime
        //Entering the profile Name
        cy.get('input[id="fileDataSubform-portfolio_name"]').type(profileName)
        cy.get('textarea[name="fileDataSubform[customer_list]"]').type('Smith002')
        //clicking the submit button
        cy.get('button[id="pvwButton1"]').click()
    })
})
//I want to use above 'profileName' const value in diffrenet describe block.

describe('Customer details page Navigation', function() {
            it('Click on created customer profile name', function() {
                        cy.get('html > body > div:nth-of-type(1)').then(($elem) => {
                                const x = $elem.text()
                                cy.log(x)
                                if (x.includes(profileName)) {
                                    cy.log("found")
                                    cy.get($elem).click()

                                })
                        })

Я использовал метод ловушки cypres, чтобы решить эту проблему, но в любом случае, я мог бы использовать 1 динамическое значение блока описания в другом блоке описания, кроме ловушки кипарисаконцепция

1 Ответ

1 голос
/ 08 июля 2019

Вам просто нужно переместить profileName за пределы вашего describe, чтобы он стал глобальным.Затем к нему можно получить доступ из любого места в тестовом файле.

Подробнее о возможностях Javascript здесь (это увеличит ваши впечатления от Cypress): https://www.w3schools.com/js/js_scope.asp

Что-то вроде этого должно работать:

const todaysDateTime = Cypress.moment().format('MMMDDYYYYSS')
const profileName = 'ProfileName-' + todaysDateTime

describe('Enter data to New profiles', function() {
  // ... your tests that use profileName here ...
})

describe('Customer details page Navigation', function() {
  // ... more tests that use profileName here ...
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...