簡體   English   中英

使用angularjs中的protactor單擊單元測試中的超鏈接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM