gpt4 book ai didi

javascript - 如何存储图像的 src 并将其与 Cypress 中的另一个图像进行比较?

转载 作者:行者123 更新时间:2023-11-29 18:41:46 26 4
gpt4 key购买 nike

测试目标是确认如果用户上传新图像,则上传图像的“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 存储为 const source,并丢弃一个 2mb 的 jpg。然后将第二张图片的 src 与第一张进行比较,并确认它们不同。

结果- ReferenceError: $ is not defined

第三种方法

Expected- 它将第一个 src 存储为 $src1,然后将其与第二个 src,$src2

进行比较

结果 - cy.get(...).attr 不是函数

最佳答案

在对我的键盘大发雷霆之后,我找到了成功的解决方案。

使用invoke,你可以像src一样存储一个attr的值,如下所示: https://docs.cypress.io/api/commands/invoke.html#Arguments-are-automatically-forwarded-to-the-function

因此,在对上述尝试进行一些调整之后,我发现它可以完美地工作:

    cy.get('.image-root img').invoke('attr', 'src').then((firstSrc) => {
const src1 = firstSrc

/**
* 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('.image-root img').invoke('attr', 'src').then((nextSrc) => {
expect(nextSrc).to.not.equal(src1)
});
});

关于javascript - 如何存储图像的 src 并将其与 Cypress 中的另一个图像进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56485152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com