Проверка Cypress не удалась при запуске из командной строки, но прошла при запуске из Cypress Test Runner - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь выполнить поиск мест в текстовом поле поиска.При вводе названия места система отобразит автозаполнение мест под полем поиска.Я написал тест, используя триггер mousedown в Cypress для захвата элементов автозаполнения.

 describe('Search for places', function() {
 it.only('Verify the search is working fine', function() {  
 cy.visit('url')
 cy.get('#search-button').click();
 cy.get('input[type="text"]').type("Salis");
 //cy.get('input[placeholder="Start typing a suburb, city, station or uni"]').parents('.form-container').find('div').find('div').find('input').type("Salis");
 cy.contains('span', 'bury, Brisbane').click();
 //cy.get('.input-autocomplete').find('div.row').eq(0).click(); 
 cy.get('div:contains(" Flatmates")').parents('.search-modes').find('div').find('div').contains(" Flatmates").click();
 cy.get('a:contains("+ Advanced filters")').parents('.show-advanced-wrapper').find('p').find('a').click();
 cy.get('#search-submit > div').contains("Search Flatmates").click();
 cy.get('.section-heading > div > h1').invoke('text').then((text)=>{
    const stext = text;
    expect(stext).to.equal('Salisbury Housemates & Roommates');
 })
  Cypress.on('uncaught:exception', (err, runnable) => {
    // returning false here prevents Cypress from
    // failing the test
   return false
    })
  })

 })

Тест успешно выполняется в Cypress Test Runner (UI).Но при запуске из командной строки он выдает CypressError: Timed out retrying: Expected to find element: '.input-autocomplete', но так и не нашел его.

При проверке html элемента автозаполнения он пропускает элементы автозаполнения, поэтому не может получить правильные теги html,Есть идеи, что может быть причиной этой ошибки?Или любой другой стабильный способ получения автозаполнения.

enter image description here

enter image description here

Добавлено html, когда проверка кипариса не выполняется при запуске из командной строки, см. Снимок экрана ниже, выделенный красным

enter image description here

enter image description here

enter image description here

1 Ответ

0 голосов
/ 10 февраля 2019

Я не могу объяснить разницу между результатами Cypress: Open и Cypress: Run (предположительно, это связано с памятью), но есть кое-что не так с битом теста, который вы показали.

Во-первых, покажите весь тест, а не одну строку - вам очень трудно помочь, показав фрагментарный код.

.trigger('mousedown',{ which: 1 }), за которым следует .click(), является избыточным.Используйте один метод или другой.click() гораздо удобнее выбирать из списка.

Учитывая последнюю информацию, я бы пошел по щелчку на определенном текстовом содержимом, предполагая, что список автозаполнения всегда предлагает одно и то же предложение для ввода 'Salis».

cy.get('input').type('Salis');  // How do you type 'Salis'?
cy.contains('span', 'bury, Brisbane').click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...