Копировать элемент из тела XHR - PullRequest
0 голосов
/ 23 января 2019

У меня проблема со случаем, когда на моей странице открывается новое окно. У меня есть случай, когда я помещаю текст в создатель текста, и я хочу проверить его предварительный просмотр, если текст существует. Предварительный просмотр открывается в новой вкладке, поэтому у меня возникли проблемы с обработкой. URL-адрес этого предварительного просмотра генерируется динамически при открытии создателя текста.

У меня есть эта ссылка в теле XHR. Но я понятия не имею, как я могу скопировать с него.

Я решил скопировать URL из тела XHR в файл .json и в другом тесте перейти по этой ссылке. Нет лучшей идеи, чтобы решить это дело.

URL страницы: app / 6237 / content / story / 49557 / edit? JournalId = 2455

Я пытался

cy.server() 
        cy.route('GET', '/app').as('getApp')
        cy.get('[name="pageselct"]').select('300');
        cy.wait('@getApp').then(function(xhr){
          const response = xhr.responseBody
          expect(response[0]).to.have.property('title', 'Untitled')
        })

и получено CypressError: Тайм-аут повторной попытки: cy.wait () тайм-аут ожидания 5000 мс для первого запроса к маршруту: 'getApp'. Ни одного запроса не было.

Я хочу скопировать текст из "preview_url". Как я могу получить доступ к этому файлу? 49557 (генерируется динамически при создании нового сообщения в блоге).

enter image description here

1 Ответ

0 голосов
/ 23 января 2019

Вы можете попробовать cy.route() со строкой подстановочного знака (которая использует minimatch), см. cy.route # Примеры .

Что-то вроде app/*/content/stories/*/edit*.

См. Также Cypress.minimatch # Примеры для быстрого способа проверки подстановочного знака без навигации

// returns true
Cypress.minimatch('/users/1/comments', '/users/*/comments', {
  matchBase: true
})

// returns false
Cypress.minimatch('/users/1/comments/2', '/users/*/comments', {
  matchBase: true
})

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

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