2016-08-04 9 views
-1

分かりやすいはずですが、分度器を使用して画像リンクをクリックしようとしています。分度器を使用してアンカーリンクを見つけてクリックする

<a href="//safeweb.norton.com 
    /a> 

私はそれが長い道のりをしていることを知っています。私は期待し

var nortonlink = element(by.css('[href="//safeweb.norton.com/"]')); 

    nortonlink.click(); 

    expect(browser.getCurrentUrl()).toEqual('https://safeweb.norton.com/'); 

は、それが現在のページに残っていると言って続けて、そのクリックが動作していません。

答えて

4

がターゲットページになるまで待つことがあります。関連urlIs Expected Conditionは分度器4に追加があります:

var nortonlink = $('[href*=safeweb]'); // NOTE: also simplified the selector 
nortonlink.click(); 

var EC = protractor.ExpectedConditions; 
browser.wait(EC.urlIs("https://safeweb.norton.com/"), 5000); 

私はあなたがここで最後のスラッシュが必要な場合はわからない - としてなくてみてください。

1

protractor.ExpectedConditionsを使用して、リンクがクリック可能かどうかを確認します。それをクリックします。あなたが正しいかもしれない@alecxe私はOPは問題なくリンクをクリックし、管理を理解しますが、URLのチェック期待は失敗したものから

var EC = protractor.ExpectedConditions; 

    var nortonlink = element(by.css('[href="//safeweb.norton.com/"]')); 

    nortonlink.click().then(function(){ 
    //wait until page completely loaded 
    browser.wait(function() { 
     return browser.getCurrentUrl().then(function (url) { 
       if(url==!"old url"){  
       return true; 
       } }); 
     }, 8000, 'URL has not changed'); 

    expect(browser.getCurrentUrl()).toEqual('https://safeweb.norton.com/'); 
    }); 
+0

... – alecxe

+0

。私は要素がクリック可能な状態でないかもしれないと思う。 –

+0

この場合、 'click()'が失敗すると思います。それについて間違っているとうれしいです。ありがとう。 – alecxe