测试目标是确认如果用户上传新图像,则上传图像的“src”属性会发生更改,这意味着图像已更改。
我尝试使用几种方法,概述如下。
第一种方法
cy.get('.img').then($img => {
//store the src
const source = $('img').attr('src');
/**
* File drop 2mb jpg
*/
cy.fixture(Cypress.env("JPG_2MB_ASSET"), "base64").then(fileContent => {
cy.get(".dropzone").upload(
{
fileContent,
fileName: "sampleimage.jpg",
mimeType: "image/jpeg"
},
{ subjectType: "drag-n-drop" }
);
});
cy.wait(16000);
cy.get('img')
.attr('src')
.should($src2 => {
expect($src2).not.to.eq(source);
});
第二种方法
//store the src
const source = $img.attr('src')
/**
* File drop 2mb jpg
*/
cy.fixture(Cypress.env("JPG_2MB"), "base64").then(fileContent => {
cy.get(".dropzone").upload(
{
fileContent,
fileName: "sampleimage.jpg",
mimeType: "image/jpeg"
},
{ subjectType: "drag-n-drop" }
);
});
cy.wait(16000);
cy.get("img").attr('src').should(($src2) => {
expect($src2).not.to.eq(source)
第三种方法
cy.get("img")
.attr("src")
.then($src1 => {
/**
* File drop 2mb jpg
*/
cy.fixture(Cypress.env("JPG_2MB"), "base64").then(fileContent => {
cy.get(".dropzone").upload(
{
fileContent,
fileName: "sampleimage.jpg",
mimeType: "image/jpeg"
},
{ subjectType: "drag-n-drop" }
);
});
cy.wait(16000);
cy.get('img')
.attr('src')
.should($src2 => {
expect($src2).not.to.eq($src1);
});
上传效果很好,但 src 的比较则不然。
第一种和第二种方法
预期 - 它将第一个图像的 src 存储为 constsource
,并且它会掉落一个 2mb 的 jpg。然后,它将第二个图像的 src 与第一个图像的 src 进行比较,并确认它们是不同的。
Result- ReferenceError: $ is not defined
第三种方法
预期 - 它将第一个 src 存储为$src1
,然后将其与第二个 src 进行比较,$src2
Result- cy.get(...).attr is not a function