前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自动化测试element位置变化怎么办?

自动化测试element位置变化怎么办?

作者头像
Peter Shen
发布2020-06-12 15:12:45
3950
发布2020-06-12 15:12:45
举报
文章被收录于专栏:持续集成持续集成

分享一个上周在写Nightwatchjs自动化测试遇到的问题及解决。

在我们的系统中存在这样一个场景,当管理员登录时候,点击头像有三个选项,下拉菜单是这样的:

Profile

Setting

Logout

当普通用户登录,点击头像,有两个选项下拉菜单是这样的:

Profile

Logout

这样就产生了一个问题,我们之前的Logout的操作都是在管理员下写的,是logout按钮在第三个,而普通用户用这个方法的时候,会找不到第三个按钮,这样脚本就报错了。

那么怎么办的,是用一个判断方法解决么?判断方法是可以解决的,判断不同用户的登录,来点击不同位置的logout按钮,但这样方式有点麻烦,逻辑有点复杂,还有更好的方式吗?

通过F12发现,logout不管按钮位置如何都使用ng-click="logout()"这个方法,那么直接找到这个方法对应的element点击即可。

代码修改如下:

// logout: 'ul.dropdown-menu-user:not(.status-dropdown-menu) > li:nth-child(3) > a'

logout: '[ng-click="logout()"]'

Q: 关于“Nightwatch.js”,你还有哪些想法?欢迎留言。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps攻城狮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档