[英]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.