我正在创建一个ASP.NET Web应用程序,当前正在使用Visual Studio的IIS Express内置程序运行它。它通常会启动localhost
并运行正常。但是,我正在调用的外部API之一需要将应用重定向到的回调127.0.0.1
而不是localhost
(它使用OAuth2流进行身份验证)。我意识到localhost只是一个别名,127.0.0.1
但由于某种原因,我无法在其上运行我的应用程序127.0.0.1
。
我进入“ Web”选项卡下的项目设置,将“ 开始操作”>“开始URL”和“ 服务器”>“项目URL”都更改http://127.0.0.1:25436
为IIS Express,甚至applicationhost.config
更改为IIS Express,并从中更改了绑定:
<bindings>
<binding protocol="http" bindingInformation="*:25436:localhost" />
<binding protocol="https" bindingInformation="*:44300:localhost" />
</bindings>
Run Code Online (Sandbox Code Playgroud)
对此:
<bindings>
<binding protocol="http" bindingInformation="*:25436:127.0.0.1" />
<binding protocol="https" bindingInformation="*:44300:127.0.0.1" />
</bindings>
Run Code Online (Sandbox Code Playgroud)
我什至尝试将IP放在端口之前,就像127.0.0.1:25436:
我读过的另一篇文章所建议的那样以解决此问题。
我不知道如何解决这个问题。请帮忙!
我还在学习Protractor所以我不确定这是否是一个我没有得到的简单答案,但我只是想让浏览器等到我正在检索的属性为真.
我正在测试这个网站的披萨选项.
完整代码:
browser.get('https://material.angularjs.org/latest/#/demo/material.components.select');
var topping = element(by.model('topping'));
topping.click();
browser.wait(function() {
return topping.getAttribute('aria-expanded').then(function(value) {
return value == 'true';
});
}, 5000);
var toppingOptions = element.all(by.css('[role="option"]'));
toppingOptions.get(5).click();
expect(topping.getText()).toBe('Onion');
Run Code Online (Sandbox Code Playgroud)
这给了我错误:
元素在点(436,693)处不可点击.其他元素将收到点击:
<md-backdrop class="md-select-backdrop md-click-catcher md-default-theme"></md-backdrop>
还要说明一点,如果我把browser.sleep(1000);
后topping.click()
和之前browser.wait()
再测试通过.所以我知道测试的其余部分并不是失败的.由于某种原因,等待的呼叫不起作用.
我认为它可能与我点击的选项在点击时在技术上不可见这一事实有关,topping
因为它在带有滚动元素的ComboBox中.如果有人知道模拟滚动到"洋葱"元素的好方法,那么也会非常感激.
angularjs ×1
asp.net ×1
iis ×1
iis-express ×1
javascript ×1
oauth ×1
protractor ×1
selenium ×1
testing ×1