简体   繁体   English

Cypress,读出图像的属性<img>喜欢标题或 alt 并进行比较

[英]Cypress, read out properties of image <img> like title or alt and compare it

I want to read out <img properties and compare it.我想读出 <img 属性并进行比较。

HTML-SNIPET: HTML-SNIPET:

<span class="mat-button-wrapper">
    <img alt="Paul 00_AA_Projektleiter" src="assets/img/KapazuiBonsai_40_32.png" title="Paul 00_AA_Projektleiter" aria-label="project.AddedProjectLeader: QCBt4HwB0UC4Ud30Kp_T">
    <span>00_AA_Projektleiter</span>
</span>

Cypress-Code (works):赛普拉斯代码(作品):

cy.get(`[aria-label="project.AddedProjectLeader: `+globalProjectId+`"]`)
.get(`span`)
.contains('00_AA_Projektleiter')

cy.get(`[aria-label="project.AddedProjectLeader: `+globalProjectId+`"]`)
.get(`span`)
.should('contain', '00_AA_Projektleiter' )

Cypress-Code (NOT working):赛普拉斯代码(不工作):

cy.get(`[aria-label="project.AddedProjectLeader: `+globalProjectId+`"]`)
.get(`img[title]`)
.contains('Paul 00_AA_Projektleiter')

cy.get(`[aria-label="project.AddedProjectLeader: `+globalProjectId+`"]`)
.get(`title`)
.contains('Paul 00_AA_Projektleiter')

I also tried .its('title') and .wrap() in diffrent combinations, but nothing worked.我还尝试了 .its('title') 和 .wrap() 的不同组合,但没有任何效果。

SO how can I get properties like alt="..." or title="..." inside the <img-TAG?那么如何在 <img-TAG 中获取诸如 alt="..." 或 title="..." 之类的属性? Cause I think contain.text only gets innerHTMLText between <span But whats about values INSIDE TAGs?因为我认为 contains.text 只会在 <span 之间获取 innerHTMLText 但是 INSIDE TAGs 的值呢? Later I have a <div WITHOUT <span so I NEED to read out alt="..."后来我有一个 <div WITHOUT <span 所以我需要读出 alt="..."

HTML-SNIPET: HTML-SNIPET:

<div data-cy="project.AddedEmployee" aria-label="project.AddedEmployeeDiv: -SDE4HwB0UC4Ud30TJ9K">
    <div>
        <img class="mat-tooltip-trigger" alt="Bernd 00_BB_Testmitarbeiter" src="assets/img/KapazuiBonsai_40_32.png" aria-label="project.AddedEmployeeImg: -SDE4HwB0UC4Ud30TJ9K" aria-describedby="cdk-describedby-message-4" cdk-describedby-host="">
        <!---->
    </div>
</div>

You can do like these:你可以这样做:

cy.get('mat-button-wrapper').find('span').should('have.text', '00_AA_Projektleiter')

OR, If you want to first find the image attribute and then assert the text you can do something like:或者,如果您想先找到图像属性,然后断言文本,您可以执行以下操作:

cy.get(`[aria-label="project.AddedProjectLeader: ${globalProjectId}"]`)
  .parent('span')
  .should('contain.text', '00_AA_Projektleiter')

Or, If you want to validate alt or title attributes you can do something like this:或者,如果您想验证alttitle属性,您可以执行以下操作:

cy.get(`img[aria-label="project.AddedProjectLeader: ${globalProjectId}"]`)
.should('have.attr', 'alt', 'Paul 00_AA_Projektleiter')

cy.get(`img[aria-label="project.AddedProjectLeader: ${globalProjectId}"]`)
.should('have.attr', 'title', 'Paul 00_AA_Projektleiter')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM