是否可以使用cypress验证悬停文本?

问题描述 投票:1回答:1

我是柏林的新手并且正在探索这个工具。我想知道是否有一个选项来验证悬停的文本。

这是我的场景,我的数据是动态的,每秒都在变化。想象一下有一个城市和城市负责人的桌子。充满活力的城市充满活力,每分钟都在变化。

这是可点击的,悬停并保持链接。当悬停在它上面时显示全名,而在按钮上它只有第一个名字。此外,名称更改更频繁而不是常量,因此不能使用包含来检查。

我想检查是否存储了悬停的文本,因此以这种方式,我可以将其分配给变量并检查href是否包含正确的值。

示例代码段:

<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相同。

我试过的cypress代码的一部分:

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}`)

}) })

但是,这仅验证名称的第一部分。即该名称包含Mr.ABCD但实际结果应为MR.ABCD EFGH。我想访问的部分取决于数据原始标题,我不知道如何访问它。并且实际的href将是'https://worldmap.com/city/Mr.ABCDEFGH'

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

cypress
1个回答
0
投票

这将在赛普拉斯的未来版本中修复,但目前.click不会发送所有鼠标悬停事件,其中包括mouseovermouseentermousemove

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

cy.get('td').eq(1).trigger('mouseover')
© www.soinside.com 2019 - 2024. All rights reserved.