【发布时间】:2015-06-09 20:11:10
【问题描述】:
大部分时间我仍处于学习模式。
我已经安装了MeanJS,并且正在使用开箱即用的导航。我开始使用Protractor 和Jasmine 实现端到端测试。
我希望我的量角器测试与导航组件交互。在整页中它很宽。在移动尺寸中,它是一个汉堡包。任何关于编写/考虑测试的好方法的一般信息将不胜感激。
以下是我目前坚持的一些项目:
模拟菜单项选择
我想模拟用户使用量角器单击菜单项。全屏宽度演示的 HTML...
<li data-ng-repeat="item in menu.items | orderBy: 'position'"
data-ng-if="item.shouldRender(authentication.user);"
ng-switch="item.menuItemType" ui-route="/admin" class="dropdown"
ng-class="{active: ($uiRoute)}"
dropdown="item.menuItemType === 'dropdown'">
<!-- THIS NEEDS TO BE CLICKED TO MAKE THE CHILD LINKS VISIBLE -->
<a ng-switch-when="dropdown" class="dropdown-toggle ng-scope"
dropdown-toggle="" aria-haspopup="true" aria-expanded="false">
<span data-ng-bind="item.title" class="ng-binding">Admin</span>
<b class="caret"></b>
</a>
<ul ng-switch-when="dropdown" class="dropdown-menu ng-scope">
<li data-ng-repeat="subitem in item.items | orderBy: 'position'"
data-ng-if="subitem.shouldRender(authentication.user);"
ui-route="/admin/users" ng-class="{active: $uiRoute}" class="ng-scope">
<!-- THIS IS WHAT I WANT TO CLICK -->
<a href="/#!/admin/users" data-ng-bind="subitem.title" class="ng-binding">
Administer Users
</a>
</li>
</ul>
我认为我需要做的是模拟单击“管理”链接以显示子菜单(上面的第一条评论指出)。然后模拟点击“Administer Users”链接触发导航
我的具体问题:
- 我模拟导航链接点击的策略是否正确?
- 我应该使用什么魔法元素(by.?)语句来查找“管理员”链接
- 假设我有“管理”链接,找到“管理用户”链接以模拟该点击的最佳方法是什么?
折叠/汉堡模式应该如何处理
在移动布局中导航范式会发生变化。我还没有研究过布局,但是相同的链接需要不同的点击。
这里有哪些最佳做法?关于我可以用来帮助发现做什么的资源的任何建议?
我还要注意...
我确实想找到属于菜单子项的链接...而不是只找到其中包含该 URL 的任何链接。
菜单项比显示的要多...为了清楚起见,我只是减少了 html 示例。
【问题讨论】:
标签: angularjs protractor meanjs