我是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();
});
登录后,网址为https://localhost:8443/#/dash
点击链接后,网址应为https://localhost:8443/#/hypera
答案 0 :(得分:0)
由于您的链接因为您在计算机上本地运行而无法为其他人工作,因此我只能告诉您最佳方法。
如果您正在处理超链接,则需要获取已使用“登录”设置的元素。我没有在您的HTML代码段中看到它,因此我无法为您提供正确的路径。
如果它是一个基本的超链接,你可以通过使用类似的东西轻松找到它:
element(by.linkText('login')).click()
如果您的登录按钮的文字确实是“登录”。如果它是其他东西,比如按钮,你需要找到确切的元素,它看起来像:
element(by.css('span[class="login"]')).click()
如果您的登录按钮位于&#39; span&#39; HTML页面中的标记。