我可以运行测试代码,并且我可以提交表单。点击提交按钮时,我需要下一页的网址。单击提交按钮时,我需要获取下一页的URL。但我正在获得第一页的灵感。 我的代码:
IEnumerable
点击提交按钮后,浏览器立即关闭,而不是等待下一页加载。一旦按钮被提交,它应该等到下一页加载,我需要下一页的URL ...
答案 0 :(得分:3)
以下列方式放入─
LoginPage.clickButton().then(function(){
expect(browser.getCurrentUrl()).toEqual('https://localhost:1234/#/timesheet');
})
或者你可以明确地进行艰苦的睡眠 -
browser.sleep(time in ms)
或者您可以使用browser.wait()等待下一页显示的某些元素 -
browser.wait(function(){
return elem.isPresent()
},time in ms).then(function(){ expect(browser.getCurrentUrl()).toEqual('https://localhost:1234/#/timesheet');
})
答案 1 :(得分:1)
如果您的应用程序是基于Angular.js,请不要使用 browser.sleep(number),而是转到 browser.waitForAngular()。
使用硬编码依赖从来都不是一个好主意。
我注意到,Protractor需要加载整个页面的时间各不相同。因此,要么使用 browser.waitForAngular(),要么在 browser.sleep()中设置一个高位数
答案 2 :(得分:-1)
试试这个:
describe('Pmts app 5.0',function(){
ptor = protractor.getInstance();
var LoginPage = require("./LoginPO");
it('login test', function(){
LoginPage.setUserName('xyz@test.com');
LoginPage.setPassWord('test');
LoginPage.clickButton();
ptor.sleep(1000);
expect(browser.getCurrentUrl()).toEqual('https://localhost:1234/#/timesheet');
});
});