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

时间:2019-03-06 22:14:16

标签: cypress

我是柏树和工具探索的新手。我想知道是否可以验证悬停的文本。

这是我的情况,我的数据是动态的,并且每秒都在变化。想象一下一个由列城市和负责城市组成的表格。负责的城市是动态的,每分钟都会变化。

这是可单击的,已悬停并包含链接。将鼠标悬停在其上时会显示全名,而在按钮上则仅显示名字。另外,名称更改的频率更高且不是常量,因此无法使用包含进行检查。

我想检查是否存储了悬停的文本,因此可以将其分配给变量并检查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是否相同。

我尝试过的赛普拉斯代码的一部分:

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

}) })

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

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

1 个答案:

答案 0 :(得分:0)

此问题将在赛普拉斯的未来版本中得到解决,但目前.click不会发送所有鼠标悬停事件,包括mouseovermouseenter和{ {1}}

不过,您可以自己模拟这些事件:

mousemove