【问题标题】:Is it possible to verify a Hover text using cypress?是否可以使用柏树验证悬停文本?
【发布时间】:2019-07-28 16:54:16
【问题描述】:

我是 cypress 的新手,正在探索该工具。我想知道是否有验证悬停文本的选项。

这是我的场景,我的数据是动态的,每秒都在变化。想象一张桌子,上面有列城市和负责城市。主管城市是动态的,每分钟都在变化。

这是可点击的、悬停的并包含一个链接。当悬停在它上面时,它会显示全名,而在按钮上它只有名字。此外,名称更改更频繁且不恒定,因此无法使用 contains 进行检查。

我想检查我们是否存储了悬停的文本,所以通过这种方式,我可以将它分配给一个变量并检查 href 是否保存正确的值。

示例 sn-p:

<a href="/City/incharge/Mr.A" data-toggle="tooltip" title="" data-original-title="Mr.ABCDEFGH" "MR.ABCD">
</a>

所以实际显示的文本将是 Mr.ABCD 但悬停的文本将是 MR.ABCD EFGH。我想将 MR.ABCD EFGH 的整个文本存储到某个变量中,并用 href 检查是否相同。

我尝试过的部分柏树代码:

it('Check click function on inchargename', () => {
let name = ''
cy.get('td').eq(1)
  .then(incharge => {
name = incharge.text()
cy.get('td').eq(1).click()
cy.url().should('eq',`https://worldmap.com/city/${name}`)

}) })

但是,这仅验证名称的第一部分。 IE。该名称包含 Mr.ABCD 但实际结果应为 MR.ABCD EFGH。我想访问的部分位于 data-original-title 上,我不知道如何访问它。实际的href是'https://worldmap.com/city/Mr.ABCDEFGH'

注意:我知道我们可以使用 [data-original-title="Mr.ABCD EFGH"] 访问 data-original-title,但这里的问题是名称是动态的,我们无法直接访问它。

【问题讨论】:

    标签: cypress


    【解决方案1】:

    这将在赛普拉斯的未来版本中得到修复,但目前 .click 不会发送所有鼠标悬停事件,包括 mouseover、mouseenter 和 mousemove

    但是您可以自己模拟这些事件:

    cy.get('td').eq(1).trigger('mouseover')
    

    【讨论】:

    • 谢谢,@bkucera :D 期待修复
    猜你喜欢
    • 2021-07-29
    • 2021-10-03
    • 2020-01-19
    • 2012-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    相关资源
    最近更新 更多