gpt4 book ai didi

angularjs - Protractor 不同的模拟 httpbackend 响应

转载 作者:行者123 更新时间:2023-12-01 13:47:14 25 4
gpt4 key购买 nike

我正在使用模拟模块进行一些测试。

当页面加载时,例如

    browser.get('http://localhost:5643/#/balance/import');

下面的这个 api url 被调用,我们得到下面的响应,效果很好。

$httpBackend.whenGET('https://localhost:44329/api/daystatus').respond(
{
'DayID': 249,
'weekend': false,
'dayStatusTypeID': 5,
'balance': null
}
);

但是当另一个页面被加载时,例如

    browser.get('http://localhost:5643/#/dashboard');

并且还调用了模拟模块中的api url

但这次我希望它返回不同的响应。 (因为加载了上一个页面并发生了一些 UI 测试操作。)

$httpBackend.whenGET('https://localhost:44329/api/daystatus').respond(
{
'DayID': 249,
'weekend': false,
'dayStatusTypeID': 7,
'balance': null
}
);

我怎么能在我的模拟模块中说这次使用对 API url 的第二次调用而不是第一次调用?目前,我加载的任何页面都使用:

$httpBackend.whenGET('https://localhost:44329/api/daystatus').respond(
{
'DayID': 249,
'weekend': false,
'dayStatusTypeID': 5,
'balance': null
}
);

我可以检测请求来自哪个页面吗?或者我可以传入查询字符串变量吗?不确定该怎么做。

最佳答案

您可以通过Referer header 来区分API 调用:

$httpBackend.whenGET('https://localhost:44329/api/daystatus', 
{'Referer': 'http://localhost:5643/#/balance/import'})

和:

$httpBackend.whenGET('https://localhost:44329/api/daystatus', 
{'Referer': 'http://localhost:5643/#/dashboard'})

关于angularjs - Protractor 不同的模拟 httpbackend 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35034790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com