如何获取量角器中单击提交按钮的下一页的URL?

时间:2015-07-30 07:50:49

标签: jasmine protractor

我可以运行测试代码,并且我可以提交表单。点击提交按钮时,我需要下一页的网址。单击提交按钮时,我需要获取下一页的URL。但我正在获得第一页的灵感。 我的代码:

IEnumerable

点击提交按钮后,浏览器立即关闭,而不是等待下一页加载。一旦按钮被提交,它应该等到下一页加载,我需要下一页的URL ...

3 个答案:

答案 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');
    });
});