鼠标悬停操作在网页中非常常见,一旦我们将鼠标悬停在其上,就会看到一个元素列表。赛普拉斯不像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'); }); });