在网站 http://ivis.cs.bilkent.edu.tr 上的按钮上触发悬停

问题描述

我想在 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();