前提:测试平台基于luckyframe二开,在我其他的帖子里面有UI实践,可以看看。
基于opencv320版本的API,封装了click、sendkeys和clear等方法。在UI自动化测试过程中,每次在需要图像识别的时候,先调用selenium的API先进行屏幕截图,将服务端的用例步骤的定位路径的base64编码的图像转为opencv的Mat格式图像,和当前的屏幕截图进行模板匹配,默认匹配度threshold是0.8,对图像灰度化处理,颜色不影响识别结果,后续有需要颜色识别再做改造。如果匹配度不小于0.8,则返回图像所在的位置Ponit,调用selenium的Acitons,移动到此位置,进行click等操作。支持和xpath等方法混合使用。目前支持的方法有click、sendkeys和clear,和selenium的方法是一个命名,兼容了。目前还没大规模用例运行,单个用例执行非常快,等用例规模大后再分享下把。