问题描述
我想在 http://ivis.cs.bilkent.edu.tr/ 上编写端到端测试 从菜单中,我想执行“文件 -> 导入 -> 简单 AF” 第二个菜单项“导入”应该与悬停一起使用。悬停后,应该会打开一个子菜单,然后您可以点击“简单AF”。
以下是我的简单 javascript 代码。
我在 https://github.com/cypress-io/cypress-example-recipes/blob/master/examples/testing-dom__hover-hidden-elements/cypress/integration/hover-hidden-elements-spec.js 上尝试了所有方法都没有效果!
context('Actions',() => {
beforeEach(() => {
cy.visit('http://ivis.cs.bilkent.edu.tr')
});
it('File -> Import -> Simple AF',() => {
// click to dismiss button
cy.get('a#dismissButton').click();
// click to hide
cy.get('body').click(10,10);
cy.get('a.dropdown-toggle').contains('File').click();
// BELOW LINE IS PROBLEM !
cy.get('a.dropdown-toggle').contains('Import').invoke('show').click();
cy.get('a#import-simple-af-file').click();
});
});
我对 cypress 很陌生,因为这个问题,我打算改用 protractor.js。
解决方法
悬停是一个问题,但有一个附加库 cypress-real-events 运行良好
cy.contains('a.dropdown-toggle','Import')
.realHover(); // from cypress-real-events
cy.contains('a#import-simple-af-file','Simple AF')
.should('be.visible') // add a visibility retry here
.click();