Структура кода:
Код: Выделить всё
describe("test", () => {
beforeEach(() => {
// Set up intercepts BEFORE visit
cy.intercept(
"https://pxdata.stat.fi:443/PxWeb/api/v1/fi/StatFin/vaerak/statfin_vaerak_pxt_11ra.px",
{ fixture: "week3/population.json" }
).as("getPopulation");
cy.intercept(
"https://pxdata.stat.fi:443/PxWeb/api/v1/fi/StatFin/tyokay/statfin_tyokay_pxt_115b.px",
{ fixture: "week3/employment.json" }
).as("getEmployment");
});
it("Table should be populated if JS is enabled", () => {
cy.visit("/");
cy.wait(['@getEmployment', '@getPopulation']);
cy.get("table tbody tr").should("have.length", 10); // Or however many are in your fixture
});
});
< /code>
код Javascript для извлечения данных: < /p>
const populationUrl = "https://pxdata.stat.fi:443/PxWeb/api/v1/fi/StatFin/vaerak/statfin_vaerak_pxt_11ra.px";
const employmentUrl = "https://pxdata.stat.fi:443/PxWeb/api/v1/fi/StatFin/tyokay/statfin_tyokay_pxt_115b.px";
const fetchStatFinData = async (url, body) => {
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(body)
});
return await response.json();
};
const initializeCode = async () => {
const populationBody = await (await fetch("population_values.json")).json();
const employmentBody = await (await fetch("employment_values.json")).json();
const [populationData, employmentData] = await Promise.all([
fetchStatFinData(populationUrl, populationBody),
fetchStatFinData(employmentUrl, employmentBody)
]);
setupTable(populationData, employmentData);
};
Подробнее здесь: https://stackoverflow.com/questions/796 ... ecting-the