赛普拉斯将鼠标悬停在动作上

鼠标悬停操作在网页中非常常见,一旦我们将鼠标悬停在其上,就会看到一个元素列表。赛普拉斯不像Selenium这样的其他自动化工具那样支持鼠标悬停操作,因为它认为它很脆弱

赛普拉斯应操纵DOM元素以执行鼠标悬停动作。赛普拉斯采用了show()JQuery中的method的帮助。的节目()方法的显示器,这是隐藏的元素[具有CSS属性显示:无]和选择。同样,该show()方法仅适用于隐藏元素DOM中的直接父对象。

现在,要调用任何JQuery函数,赛普拉斯将使用用来调用函数的invoke()命令的帮助。该invoke()方法不能直接与cy链接。

语法

.invoke(name of function)
.invoke(options, name of function)
.invoke(name of function, arguments..)
.invoke(name of function, arguments..)
.invoke(options, name of function, arguments…)

函数名称是指必须调用的函数。此外,我们可以在函数调用中添加其他参数,并且对参数数量的计数没有限制。

下面列出了两种类型的选项,它们可以修改.invoke()的默认行为-

  • log-log的默认值为true。

  • 超时-超时参数的默认值为defaultCommandTimeout(4000毫秒)。这是等待.invoke()结束的持续时间。

cy.get('#txt').invoke('show')

示例

使用JQueryshow()方法进行编码实现。

describe('Nhooo Test', function () {
   //测试用例
   it('Test Case5', function (){
      //启动应用程序
      cy.visit("https://www.amazon.com/");
      // to display hidden element with invoke() with show
      cy.get('#nav-flyout-ya-signin').invoke('show');
      //单击隐藏的元素
      cy.contains('Sign').click();
      //断言以验证网址
      cy.url().should('include','signin');
   });
});

赛普拉斯还有另一种解决方法,可以单击仅在页面上的鼠标悬停操作上显示的隐藏元素。这是通过将选项作为参数传递给click()赛普拉斯的命令来完成的。

click({force:true}) -将click()force选项设置为true的命令[force:true]修改了隐藏元素的默认行为,我们可以单击它。

语法

cy.get('.butn').click({ force: true })

示例

带有隐藏元素强制选项的编码实现。

describe('Nhooo Test', function () {
   //测试用例
   it('Test Case5', function (){
      //启动应用程序
      cy.visit("https://www.amazon.com/");
      //单击隐藏的元素 with option force set to true
      cy.contains('Sign').click({force:true});
      //断言以验证网址
      cy.url().should('include','signin');
   });
});