从XHR主体复制元素

时间:2019-01-23 15:09:10

标签: cypress

我的页面打开新窗口时遇到问题。我遇到的情况是,我在文本创建器中放置了一些文本,并且想在文本预览中检查是否存在文本。预览在新标签页中打开,因此我在处理它时遇到问题。打开文本创建器时,将动态生成此预览的URL。

我在XHR正文中有此链接。但是我不知道该如何复制。

我决定将URL从XHRs主体复制到.json文件,然后在另一个测试中转到该链接。没有更好的主意来解决这种情况。

页面网址是:app / 6237 / content / stories / 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()超时,等待5000ms的第一个请求到路由:'getApp'。从未发生过请求。

我想从“ preview_url”复制文本。如何访问该文件? 49557(当我创建新博客文章时动态生成)。

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以尝试使用通配符字符串(使用minimatch)来cy.route(),请参见cy.route#Examples

类似app/*/content/stories/*/edit*

另请参阅Cypress.minimatch#Examples,以快速测试通配符而无需导航

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

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

我尝试了几个在线的minimatch测试仪,但是它们似乎并不那么可靠(当match为true时显示为false)。