簡體   English   中英

如何檢查賽普拉斯中最新響應的標題?

[英]How to check headers of most recent response in Cypress?

我們的應用程序有一個功能,您可以按下按鈕,等待一段時間,然后在交付后獲取一些信息。 它將發送大約 10 個具有相同 url 的響應,並且只有最后一個應該包含我們關心的信息。 我現在的腳本是:

  beforeEach(function() {
    cy.server()
    cy.route('get', /waiting_for_response/).as('response')
  })

  it('checks for good data', function() {
    cy.get('.get-data').click()
    cy.wait('@response', {timeout:10000}).then((xhr) => {
      expect(xhr.responseHeaders.data).to.not.be.a('null')
    })
  })

這總是失敗,因為 cy.wait 在第一個匹配的 url 上解析,並且只有最后一個響應的標頭的數據值不是 null。 有沒有辦法等待所有響應都回來,然后再檢查它們是否不是 null? 或者也許指定路線必須有一定的響應 header 才能匹配? 任何幫助或想法將不勝感激,在此先感謝!

您可以將問題分解為更小的條件

  • cy.wait(10000)
  • 檢查 cy.get('<>').should('have.length', 10) 的長度
  • 現在您可以檢查條件 expect(xhr.responseHeaders.data).to.not.be.a('null')

可以參考文檔https://docs.cypress.io/api/commands/route.html#With-Stubbing

部分:向同一路由發出多個請求

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM