Как с помощью Cypress получить ID вставленной строки в тестировании CRUD? - PullRequest
0 голосов
/ 03 апреля 2020

Используя cypress ("@ vue / cli-plugin-e2e-cypress": "~ 4.2.0") в приложении @ vue / cli 4.0.5, я выполняю операции CRUD и добавляю новую категорию:

cy.get('#parent_id').select('1')


cy.get('section.submit_form_category')
    .get('button.submit_button_category')
    .click()  // by submitting new category was added on server

cy.url()
    .should('include', '/admin/categories/edit/')

cy.contains('Edit category')

cy.get('section.submit_form_category')
    .get('a.cancel_button_category')
    .click()


cy.url()
    .should('include', '/admin/categories')
cy.contains('Categories')  // opened listing of categories 

Далее мне нужно удалить эту строку, и для этого мне нужно получить идентификатор новой категории, созданной выше. Если есть способ сделать это?

Спасибо!

1 Ответ

0 голосов
/ 08 апреля 2020

Я нашел решение с методом ожидания и парсингом URL-адреса ответа, который должен быть похож на / admin / Categories / edit / 52:

cy.get('section.submit_form_category')
    .get('button.submit_button_category')
    .click() // by clicking on submit button form is validated and new categoty inserted

cy.wait(1000)

cy.url()
    .should('include', '/admin/categories/edit/') // newly inserted row must be redirected to the editor in edit mode with ID in url
    .then((response) => {
        var valuesArray = response.split('/admin/categories/edit/'); // get ID of newly inserted category
        if (valuesArray.length == 2) {
            let new_category_id = valuesArray[1]
            // alert('new_category_id::' + new_category_id)
        }
    })
cy.contains('Edit category')

Это работает для меня, хотя, может быть, есть лучшее решение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...