[英]click on hyperlinks in unit testing using protactor in angularjs
我是angularjs的單元測試新手。 我閱讀了以下教程:
https://github.com/angular/protractor/blob/master/docs/tutorial.md 。
我想點擊超鏈接,但我不知道我怎么能實現這一點。
這是我的代碼:
<li ng-repeat="menu in sidebarLinks" ng-if="menu.visible == true " ng-class="{active: isActive('/{{menu.action}}')}">
<a ng-href="#/{{menu.action}}" title="{{menu.name}}" ng-click="loadSubmenus(menu.action)" ng-class="{active: isActive('/{{menu.action}}')}">
<div class="icon {{menu.icon}}" ng-class="{active: isActive('/{{menu.action}}')}"></div>
<span>{{menu.name}} </span>
</a>
</li>
在單元測試中:
describe('Protractor Demo App', function() {
browser.driver.get('https://localhost:8443/login.html');
browser.driver.findElement(by.id('name')).sendKeys('test');
browser.driver.findElement(by.id('password')).sendKeys('test');
browser.driver.findElement(by.id('login')).click();
});
登錄后url為https:// localhost:8443 /#/ dash
點擊鏈接后,網址應為https:// localhost:8443 /#/ hypera
由於您的鏈接不適用於其他任何人,因為您在計算機上本地運行它,我只能告訴您最好的方法。
如果您正在處理超鏈接,則需要獲取使用“login”設置的元素。 我沒有在你的HTML片段中看到它,所以我無法給你正確的路徑。
如果它是一個基本的超鏈接,您可以通過使用以下內容輕松找到它:
element(by.linkText('login')).click()
如果您的登錄按鈕的文本確實是“登錄”。 如果它是其他東西,比如按鈕,你需要找到確切的元素,它看起來像:
element(by.css('span[class="login"]')).click()
如果您的登錄按鈕位於HTML頁面的“span”標記下。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.