我能够运行测试代码,并且能够提交表单。我需要下一页的网址时,提交按钮是点击。我需要得到下一页的网址时,提交按钮被点击。但是我得到了第一页的curenturl。我的代码:
describe('Pmts app 5.0',function(){
var LoginPage = require("./LoginPO");
it('login test', function(){
LoginPage.setUserName('xyz@test.com');
LoginPage.setPassWord('test');
LoginPage.clickButton();
expect(browser.getCurrentUrl()).toEqual('https://localhost:1234/#/timesheet');
});
});单击提交按钮后,浏览器会立即关闭,并且不会等待下一个页面加载。一旦按钮被提交,它应该等待,直到下一页加载,我需要下一页的网址…
发布于 2015-07-30 16:03:16
可以这样说:
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');
})发布于 2015-08-04 03:48:51
请避免使用browser.sleep(number),如果您的应用程序是基于Angular.js的,请使用browser.waitForAngular()。
使用硬编码的依赖关系从来都不是一个好主意。
我注意到,量角器加载整个页面所需的时间各不相同。因此,要么使用browser.waitForAngular(),要么在browser.sleep()中设置一个较大的数字
发布于 2015-07-30 22:22:59
试试这个:
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');
});
});https://stackoverflow.com/questions/31718064
复制相似问题