自动化测试如何比较颜色
引言
在做Nightwatch自动化测试中,出现需要比较颜色的时候如何来做?
基本的思路是首先需要取到这个element的颜色值,然后跟预期的颜色进行对比。
比如我要取下面这个会话窗口的颜色,选中这个图标,按F12,查看这个图标的属性。发现Angular中的颜色属性不是Elements下,是在Styles下面,如何取到这个颜色值?
这里会用到getCssProperty这个方法,具体如何使用,请看如下代码:
getChatColor: function(cb) {
const chat = '[ng-click="show()"]'
this.getCssProperty('@chat', 'background-color', function(result) {
cb(result.value);
});
return this;
},
将上面的getChatColor command代码放到一个叫chat.js的page下面,然后在测试用例中这样调用这个command,
'Test get color': function (client) {
var chat = client.page.chat();
let chatColor;
chat.navigate();
chat.getChatColor(function(color) {
chatColor = color;
});
client.perform(function() {
client.assert.equal(chatColor, 'rgba(50, 104, 152, 1)');
});
}
截图中看到的background color是rgb(50, 104, 152), 但是getChatColor返回指是rgba,rgb和rgba之间需要转化一下,a表示透明度,取值0~1之间。
©著作权归作者所有:来自51CTO博客作者mob604756e7db9c的原创作品,如需转载,请注明出处,否则将追究法律责任更多相关文章
- 通过设置createFromIconfontCN使Vue3项目支持iconfont图标库
- 初次安装windows系统后桌面只有回收站,如何显示其他常用桌面图标
- 前端程序员要懂的 UI 设计知识
- [置顶] android 如何自定义通知栏图标(不使用自定义布局情况下)
- android屏幕颜色过滤调节(可用于护眼模式)
- Android--隐藏状态栏图标
- Android(安卓)颜色渲染(五) LinearGradient线性渲染
- 高德地图实现Marker模拟gif动画
- Android(安卓)launcher加载流程