2016-05-17 78 views
0

尝试检查当前的网址并获取html页面的标题。 我创建测试点击我的帐户按钮,因为用户没有登录之前,然后网站重定向到登录页面,然后我用sendKeys发送用户名和密码,然后单击登录按钮,但调用browser.getCurrentUrl() 和浏览器.getTitle()仍然返回与登录前相同的标题。使用量角器的当前url单元测试getTitle?

beforeEach(function() { 
    browser.ignoreSynchronization = true; 
    browser.get('https://*******************.net/'); 
});T 

it(' childern (li) of parent (ul) with class(nav) should have names Login/Register/Forgot Password/Forgot Username', function() { 
    var myAccount = element(by.id('navItem_MyAccount')); 
    myAccount.click(); 
    list = element.all(by.css('#tabs-Login li'));  
    expect(list.get(0).getText()).toBe('Login'); 
    expect(list.get(1).getText()).toBe('Register'); 
    expect(list.get(2).getText()).toBe('Forgot Password'); 
    expect(list.get(3).getText()).toBe('Forgot Username'); 

}, 10000); 

it(' logIn should be active', function() { 
    var myAccount = element(by.id('navItem_MyAccount')); 
    myAccount.click(); 
    _login = element.all(by.css('.active')); 
    expect(list.get(0).getText()).toBe('Login'); 

}, 1000); 

it(' Page Title should be iSportsman: Home ', function() { 
    var _login = element.all(by.css('#Login')); 
    var log = element.all(by.css('#btnLogin')); 
    var _loginPw = element.all(by.css('#inputRow-Password')); 
    _login.sendKeys('************************'); 
    console.log('step1 done'); 

    _loginPw.sendKeys('*********'); 
    console.log('step2 done'); 

    log.click(); 
    console.log('step3 done'); 
    var _url = browser.getCurrentUrl(); 
    console.log(_url.toString()); 
    browser.get(_url.toString()); 

    browser.getTitle().then(function (title) { 
     expect(title).toEqual('imakerman: Home'); 
    }) 

},10000); 

});

回答

0

它找到了答案我忘了点击我的帐户按钮之前sendKeys密码和user_name在第三次测试。那么我结合user_name和密码在一个承诺,然后我点击登录按钮

it(' Page Title should be iMaker: Home ', function() { 
    var myAccount = element(by.id('navItem_MyAccount')); 
    myAccount.click(); 
    var log = element.all(by.css('#btnLogin')); 
    var _login = element.all(by.css('#Login')).sendKeys('*****************'); 

    console.log('step1 done'); 

    var _loginPw = element.all(by.css('#Password')).sendKeys('**********'); 

    console.log('step2 done'); 

    protractor.promise.all([_login, _loginPw]).then(function() { 

    log.click(); 
    }); 
    console.log('step3 done'); 
    browser.getCurrentUrl(); 

    browser.getTitle().then(function (title) { 
     expect(title).toEqual('iMaker: Home'); 
    }) 

},5000); 
});