赛普拉斯将鼠标悬停在名为“自动化”的菜单选项上

use*_*590 4 css css-selectors cypress

我正在尝试使用以下命令将鼠标悬停在菜单选项(镜头 - 它位于自动化选项卡下)上,但它似乎不起作用:

cy.get('.menu.button.overlay_button.projects_popover').click(),
cy.contains('Automation').trigger('mousedown'),
cy.contains('Shots').trigger('mousedown').click()
Run Code Online (Sandbox Code Playgroud)

cypress 有悬停选项吗?

我首先单击项目,然后转到自动化,然后单击镜头。

在此处输入图片说明

另外,我不认为是否有任何东西可以在柏树中悬停。我想将鼠标放在“自动化”选项卡上。我可以点击它,但我不能像 selenium 一样悬停。请帮忙

bku*_*era 7

不,赛普拉斯目前没有hover()命令。但是,这可能会在未来添加。

浏览器中有两种不同形式的悬停代码:

1)css通过:hover伪类进行样式设置
2)javascript通过mouseover/mouseout事件侦听器。

如果您的应用程序使用 #1( css),cypress 目前无法测试它,因为它无法通过 javascript 解析伪 css 样式。

如果您的应用程序使用 #2(javascript事件),您可以使用一种解决方法,mouseover/mouseout手动触发事件:

cy.get('.menu.button.overlay_button.projects_popover').click(),
cy.contains('Automation').trigger('mouseover'),
cy.contains('Shots').trigger('mouseover').click()
Run Code Online (Sandbox Code Playgroud)

您的应用程序也有可能正在侦听mouseenter/mouseleave事件,在这种情况下,您也可以触发这些事件。