量角器/Jasmine错误:超时-在Jasmine.DEFAULT\u Timeout\u INTERVAL指定的超时内未调用异步回调
我遇到了这个问题,我执行量角器测试时发现它失败了。现在的问题不是实际的功能失败,而是默认的超时时间间隔。代码运行良好,在网页上执行所有操作,并且在您希望出现绿点时出错 在任何人将其标记为重复之前,我只想告诉大家,我已经尝试了下面的方法来回答其他类似问题量角器/Jasmine错误:超时-在Jasmine.DEFAULT\u Timeout\u INTERVAL指定的超时内未调用异步回调,jasmine,protractor,Jasmine,Protractor,我遇到了这个问题,我执行量角器测试时发现它失败了。现在的问题不是实际的功能失败,而是默认的超时时间间隔。代码运行良好,在网页上执行所有操作,并且在您希望出现绿点时出错 在任何人将其标记为重复之前,我只想告诉大家,我已经尝试了下面的方法来回答其他类似问题 在“it”块中包含参数,并在测试后调用该参数 将conf.js文件中的默认超时时间间隔更改为30秒 尝试在最后一个函数中使用Async/await来等待承诺得到解决 我不仅想找到这个问题的答案,而且如果有人能给我解释一下量角器到底想表达什么。对于
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,
}
};
正在寻求所有量角器专业人士的帮助,以帮助我获得此解决方案,并希望让我理解此概念。此消息表示在浏览器中运行了异步脚本,并且在预期的时间限制内未返回结果。如果您可以共享完整的错误堆栈,这将非常有用,根本原因可能会在其中更深入地提到什么是
plesserun()
。更新相同的代码量角器处理承诺的默认方式称为控制流,您当前正在使用该控制流。启用控制流时不应使用async/await
,因为这可能导致意外行为。你能确认在30秒默认超时时间仍在使用的情况下删除async/Wait时看到了相同的行为吗?Hi Madhan,从这个答案中引用了它:嗨DublinDev,嗨,谢谢你的提示。我尝试过这种方法,但今天奏效了。但前几天我也试着做同样的事情,但它不起作用,这就是为什么我还添加了wait/async。如果你能帮助我了解在什么时候使用哪一个,那就太好了。