Тест Cypress завершился неудачно с ошибкой «Ошибка: превышен тайм-аут команды Cypress на 15000 мс». - PullRequest
0 голосов
/ 21 января 2020

Я выполняю несколько утверждений в своем тесте, и по какой-то причине мои тесты терпят неудачу после первого утверждения. Это только когда я запускаю тест на Electron78 ​​или в CI. Я получаю пропуск этих тестов, когда выполняю их с использованием Chrome 79.

Я использую Cypress V3.8.2, Node v12.10.0.

Я изменил исходный тест и Вставить копию здесь:

SmokeTests. js

import PortalPages from "./Pages/PortalPages.js"
import Config from"./Actions/TestConfig.js";
const testFixture = Config.TestConfig.testFixture;
const test = Config.TestConfig.test;
const oneTimeSetup = Config.TestConfig.oneTimeSetup;
const TEST_PORTAL = Config.PORTAL.TEST_PORTAL;
testFixture('Smoke Tests', () => {
 oneTimeSetup(TEST_PORTAL);
  test('QaClickAcademy Portal is reachable',async ()=>{
  let homePage=new PortalPages.Dashboard;
  assert.equal("Featured CoursesWhat Our Students Say",await homePage.pageContent);
  assert.equal("Featured CoursesWhat Our Students Say",await homePage.pageContent);
  });
});

PortalPages. js

import Page from './Page.js' 
class PortalPages extends Page {
 constructor(){
    super();
 }
 get pageContent() { return Page.getText( cy.get('h2'));}
}
class Dashboard extends PortalPages {
 constructor(){      
    super();
    this.path =Page.testPortal+"/Dashboard";
 }
} 
module.exports = 
{
 Dashboard:Dashboard
}

TestConfig. js

import Page from "../Pages/Page.js"
const PORTAL={
 TEST_PORTAL : 'PORTAL'
}
class TestConfig{  
  static oneTimeSetup(aPortal){
     switch (aPortal){
        case PORTAL.TEST_PORTAL:
        TestConfig.clearExistingCookiesLoginAndPreserveNewCookies(aPortal,"__smToken", 
Page.testPortal);
     }
  } 
  static clearExistingCookiesLoginAndPreserveNewCookies(aPortal,cookie,url){
     before('Clear cookies and visit login page.', () => {
       cy.clearCookies();
       cy.visit(url);    
     });  
     beforeEach('Preserve Session Before Each Testcase.', () => {
        Cypress.Cookies.preserveOnce(cookie);
     });
  }
 static testFixture = (description, func) => {
    describe(description, () => {
       func();
    });
 } 
 static test = (description, func) => {
    it(description, func);
 }
};

module.exports =
{
 PORTAL: PORTAL,
 TestConfig: TestConfig
}

Стр. js

class Page{  
   goto(url)
 {
    cy.visit(url);
 }
 static getText(htmlElement){
    return new Cypress.Promise((resolve) => {
       htmlElement.then(($el)=> {
          cy.wrap($el);
          let message=$el.text();
           resolve(message);
       });
    });
 }
}
 Page.testPortal="http://www.qaclickacademy.com"
  module.exports =Page;

Буду очень признателен за любую помощь в этом. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...