IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Robot Framework 基于图像识别的 C/S 自动化测试 --- 从入门到实战 -> 正文阅读

[Python知识库]Robot Framework 基于图像识别的 C/S 自动化测试 --- 从入门到实战

引子:

? ? 由于最近有一个分量很重的windows Client需要测试,所以开始研究C/S的自动化。

? ? 其实一开始知道这个客户端是基于Node.js,并且使用Chromium内核,我是想使用Selenium的Webdriver驱动的。但是经过各种努力,发现无法突破第三方给Chromium自定义套的壳,且内核是不完整chromium,遂放弃。

? ? 也考虑过直接使用AutoIt来操作windows窗口,无奈在这种套壳Chromium下,窗口对象都是一团,无法操作。

? ? 也考虑过WindowsApplicationDriver,使用inspect或者FlaUInspect进行定位,或者使用windows更新推出的Accessibility Insights For Windows,但这些工具配套非常贫瘠,基本都没法用。

? ? 最后还是决定使用这类客户端自动化的最终解决方案 --- Robot Framework+图像比对和识别

雏形:

? ? 一个合格的UI自动化,需要以下几个要素:

? ? 1.元素定位方法

? ? 2.操作方法,最少包括鼠标和键盘操作

? ? 3.获取页面数据的方法

? ? 4.断言的方法

库的选择:

? ? 老牌的图像比对和操作库,是大名鼎鼎的sikuli,但是sikuli后来专心去做sikulix去了,老的sikuli版本已经很久没有人维护了,所以主力图像识别库使用了RF官网首页上的ImageHorizonLibrary,反正大家都用的是opencv,虽然关键字比sikuli少一些,但是够用了(虽然后来还是做了很多二次开发)。

? ? 鼠标和键盘的操作,还是使用了AutoItLibrary,因为这个库可以补足ImageHorizonLibrary,通过图片获取其页面上的定位,然后操作坐标。

? ? 获取页面数据,考虑了很久,还是引入了OCR,通过Python的opencv库,对截图进行文字识别,由此,遇到了若干个坑:

? ? 1.获取验证码的方法,最后使用dddd库解决

? ? 2.编写获取指定区域的截图,封装了坐标和左上角图片,指定高和宽的矩形截图方法

? ? 3.灰化图像,忽略轻微色差造成的颜色差别

? ? 4.使用easyOCR库对图片内文字进行提取

? ? 5.编写解析EMBED的图像并保存的方法

? ? 6.编写在robot的html的log中插入本地截图的方法

? ? 7.编写基于特征的图片比对方法,根据阈值设定图像相似度

? ? 8.修改源代码,使其支持中文路径和中文图片名称

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-27 12:47:35  更:2021-10-27 12:49:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:43:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码