簡體   English   中英

從 JSON 文件中讀取內容,以補充我在 cypress 中的 url 搜索

[英]Read Content from a JSON file to be able to complement my url search within cypress

我目前正在處理一些測試文件,這些文件將查看一些記錄,這些記錄將為我提供一些數據,以便能夠進行 web 搜索。 但是,我只想從我的文件中讀取特定的輸入。 出於同樣的原因,我添加了以下內容:

describe('Search', function () {
    beforeEach(() => {
       cy.login()

     cy.fixture('latestLead.json').then(function (lead) {
            this.lead = lead
        })
     
  it('Convert Lead to an Opportunity',  () => {

   cy.readFile('cypress/fixture/latestLead.json').then(r => {
            r.forEach((item: any) => {
            cy.log(item.Id);
            });
        });
  })

})


我的 json 文件如下:

{
  "status": 0,
  "result": {
    "totalSize": 1,
    "done": true,
    "records": [
      {
        "attributes": {
          "type": "Lead",
          "url": "/services/data/v51.0/sobjects/Test/11111111"
        },
        "Id": "1111111111111",
        "Name": "Andres Test Test"
      }
    ]
  }
}

主要問題是告訴我“任何”都不正確,我的柏樹不會運行。 但是,我想看看它是否是從我的 json 文件中獲取“Id”的更好方法。 有沒有人對如何做到這一點有更好的想法?

我可能會為夾具分配一個別名並在測試中調用它,並在夾具的cy.get()中執行。 使用夾具需要注意的幾點: 即使數據發生變化,它們也只會加載一次。

describe('Search', function () {
    cy.fixture('latestLead.json').as('latestLead')

    it('Convert Lead to an Opportunity',  () => {
        cy.get('@latestLead').then((data) => {
            var ids = []
            data.result.records.forEach((record) => {
                ids.push(record.Id)
            })
            // whatever you need to do with the ids
        })
    })
})

如果您在records數組中只有一個 object,您可以繞過.forEach()並直接引用變量( data.results.records[0].Id )。

另外,您是否在其他任何地方使用類型? 我不確定您為什么要設置item: any ,除非您使用類型。

暫無
暫無

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

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