2017-09-28 7 views
-1

は実際に私が直接ブラウザでテストしていると私は、ロケータを使用して見つかりませ要素を言っていないエラーを取得しています分度器ロケータを使用していません要素:(XPathのことでは、

spec.js

it('Test for Application Registration text', function() { 
    var ar = browser.findElement(by.xpath('/html/body/admin-app-root/layout/div[1]/cheader/nav/div/div[1]/a[2]')); 
    expect(ar.getAttribute('value')).toEqual('Application Registration'); 
}); 

HTML:。

<div _ngcontent-bbu-25="" class="navbar-header"> 
<a _ngcontent-bbu-25="" class="navbar-brand logo navbar-brand-logo" href="/register/core/feature-list"></a> 
<a _ngcontent-bbu-25="" class="navbar-brand navbar-brand-title app-title ellipses" href="/register/core/feature-list">Application Registration</a> 
</div> 

エラー:

Message:[chrome #01]  Failed: no such element: Unable to locate element: 
{"method":"xpath","selector":"/html/body/adminapproot/layout/div[1]/ 
cheader/nav/div/div[1]/a[2]"}[chrome #01]  
(Session info: chrome=61.0.3163.100)[chrome #01]  
(Driver info:chromedriver=2.32.498550(9dec58e66c31bcc53a9ce3c7226f0c1c5810906a), 
platfor=Windows NT 10.0.14393 x86_64)[chrome #01] 
Stack:[chrome #01] NoSuchElementError: no such element: Unable to locate 
element:{"method":"xpath","selector":"/html/body/admin-app- 
root/layout/div[1]/cheader/nav/div/div[1]/a[2]"}[chrome #01]  
(Session info: chrome=61.0.3163.100)[chrome #01]  
(Driver info:chromedriver=2.32.498550(9dec58e66c31bcc53a9ce3c7226f0c1c5810906a), 
platfor=Windows NT 10.0.14393 x86_64)[chrome #01]   
at WebDriverError(C:\\node_modules\proractor\node_modules\selenium- 
webdriver\lib\error.js:27:5) 
+0

は、このXPathのための要素がない正確ことを意味します。 – svgrafov

+0

しかし、彼らはその道にリンクしています – amit

+0

ああ、ええ、申し訳ありません。そのライブラリに意図的にバグを入れる邪悪な開発者がいます。 あなたとあなたのアプリケーションが文書をチェックするときにDOMが異なる場合があります。あなたのページまたはリンクが外部ページである場合は、そのページのコードを追加することを検討してください。 – svgrafov

答えて

0

これは、このコードで正常に動作します:いいえ要素が見つからない

it('Test for Application Registration text', function() { 
     var EC = protractor.ExpectedConditions; 
     var ar = element(by.xpath('/html/body/admin-app-root/layout/div[1]/c-header/nav/div/div[1]/a[2]')); 
     browser.wait(EC.visibilityOf(ar)); 
     expect(ar.getAttribute('value')).toEqual('Application Registration'); 
    }); 
関連する問題