Ошибка транспортира / жасмина: тайм-аут - асинхронный обратный вызов не был вызван в течение тайм-аута, указанного в jasmine.DEFAULT_TIMEOUT_INTERVAL - PullRequest
0 голосов
/ 12 октября 2019

Я сталкиваюсь с этой проблемой, когда выполняю тест транспортира только для того, чтобы выяснить, что он не прошел. Теперь проблема не в том, что реальная функциональность не работает, а, по-видимому, с интервалом ожидания по умолчанию. Код работает нормально, выполняет все операции на веб-странице и только когда вы ожидаете, что зеленая точка выдает ошибку.

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

  1. Включил аргумент в блок "it" и вызвал аргумент после теста.
  2. Изменено значение default_timeout_interval в файле conf.js на 30 с.
  3. Пытался использовать Async / await в последней функции, чтобы дождаться выполнения обещания.

Я хотел бы не только найти ответ на этот вопрос, но и если кто-то можетобъясните мне, что именно Транспортир хочет передать здесь. Для меня, как для новичка в JavaScript и Protractor, это выглядит очень расплывчатым сообщением.

Ниже приведен мой файл спецификаций:

describe("Validating Booking for JetBlue WebApplication", function(){


    var firstPage = require("../PageLogic/jetBlueHomePage.js");
    it("Validating One Way Booking", function(pleaserun){

        firstPage.OneWayTrip();
        firstPage.EnterFromCity("California");
        firstPage.EnterToCity("New York");
        firstPage.SelectDepartureDate();
        firstPage.searchFlights();
        pleaserun();
    });

});

Ниже находится файл моей страницы:

var homePage = function(){

    this.OneWayTrip = function(){
        element(by.xpath("//label[text()=' One-way ']/parent::jb-radio/div")).click();
    }

    this.EnterFromCity = function(FromCityName){
        element(by.xpath("//input[@placeholder='Where from?']")).clear();
        element(by.xpath("//input[@placeholder='Where from?']")).sendKeys(FromCityName);
        browser.sleep(3000);
        element(by.xpath("//ul[@id='listbox']/li[1]")).click();
    }

    this.EnterToCity = function(ToCityName){
        element(by.xpath("//input[@placeholder='Where to?']")).clear();
        element(by.xpath("//input[@placeholder='Where to?']")).sendKeys(ToCityName);
        browser.sleep(3000);
        element(by.xpath("//ul[@id='listbox']/li[1]")).click();
        browser.sleep(3000);
    }

    this.SelectDepartureDate = function(){
        element(by.xpath("//input[@placeholder='Select Date']")).click();
        browser.sleep(3000);
        element(by.xpath("//span[text()=' 24 ']")).click();

    }

    this.NumberOfPassengers = function(){
        element(by.xpath("//button[@pax='traveler-selector']")).click();

    }

    this.searchFlights = async function(){
        await element(by.buttonText('Search flights')).click();    
    }

};

module.exports = new homePage();

Ниже приведен файл Conf.js:

exports.config = {
    directConnect: true,
    specs:["TestSpecs/jetBlueBookingTest.js"],
    onPrepare: function(){
        browser.get("https://www.jetblue.com/");
        browser.manage().window().maximize();
    },
    jasmineNodeOpts: {
        showColors: true,
        defaultTimeoutInterval: 30000,
        isVerbose: true,
        includeStackTrace: true,
    }
};

Обращайтесь за помощью ко всем профессионалам-транспортировщикам, чтобы помочь мне найти это решение и, надеюсь, помочь мне понять концепцию.

1 Ответ

0 голосов
/ 14 октября 2019

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

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