有没有办法在网页上的 Cypress 中发送或触发击键?

问题描述 投票:0回答:4

我想做的是,当我导航到某个页面时,我需要按键盘上的某个键,即字母表才能在网页上执行操作。

场景是:

1- 导航至网页 2- 从键盘上按特定字母 3-当从键盘按下该字母时,页面执行操作

目前,我不确定如何使用 Cypress 实现这一点,通常我们可以在输入框等中键入,但我只想模拟网页上的按键。有没有办法借助触发器功能来做到这一点?如果是的话该怎么办?

selenium cypress e2e-testing
4个回答
1
投票

是的,您可以将击键发送到 cypress

cy.get('input').type('{shift}{alt}Q')
cy.get('input').type('{enter}')

0
投票

也许这有帮助: https://sqa.stackexchange.com/questions/46912/how-to-simulate-a-simple-keypress-in-cypress

另外,请查看 cypress 中 Trigger 的文档。也看看食谱。也许你会发现一些有用的东西。


0
投票

是的,这是 Cypress 的官方文档。只需使用 .type() 方法中的键修饰符即可:

.type('{meta}{command}{cmd}')

0
投票

由于您不想在 DOM 中获取特定元素,并且假设您的页面要么捕获事件,要么首先聚焦正确的元素,那么您可以尝试以下操作:

cy.get('body').type('{enter}')

这将获取整个页面并按 Enter 键。 你不能只拥有

cy.type('{enter}')
,因为它需要链接一个元素。当你思考这一点时,作为一个人,这就像在没有 chrome 聚焦的情况下敲击按键一样。

© www.soinside.com 2019 - 2024. All rights reserved.