一:背景
需要从web端切换到winapp端,app元素难以定位,通过截图匹配位置进行点击操作,然后就找到了这个第三方库
二:介绍
robotframework-SikuliLibrary是一个第三方库,它结合了Sikuli的功能与Robot Framework,为图形用户界面(GUI)的自动化测试提供了一种新的方式。与传统的基于API的测试方法不同,robotframework-SikuliLibrary使用截图和图片进行测试,这种方法更接近于人工通过键盘和鼠标的输入测试。
Sikuli包括sikuli脚本、基于Jython的API以及Sikuli IDE。它能够实现任何在显示器上可见的UI对象的自动化,通过编写代码,可以实现web页面、Windows/Linux/Mac OS X桌面应用,甚至是iPhone和Android模拟器的自动化测试。因此,robotframework-SikuliLibrary也继承了这些功能,使得在Robot Framework中能够更方便地执行这些自动化测试任务。
在自动化测试过程中,有时会遇到定位元素困难的情况,尤其是在处理一些老旧系统或开发代码不规范的情况时。Sikuli通过图像比对的方式,能够很好地解决这些问题,为自动化测试的实现提供了很多便利。robotframework-SikuliLibrary利用Sikuli的这种特点,可以在Robot Framework的测试脚本中轻松实现这些功能。
总的来说,robotframework-SikuliLibrary是一个强大而灵活的自动化测试工具,它结合了Sikuli的图像比对能力和Robot Framework的测试框架,使得自动化测试变得更加简单和高效。
三:下载与安装
1.下载robotframework-sikulilibrary
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple robotframework-sikulilibrary
2.下载jdk
3.下载sikuliide[截图需要用到这个软件]
SikuliX project files : SikuliX
4.引用导入
*** Settings ***
Library SikuliLibrary
Resource E:\\code\\RIDE\\RIDE\\helper\\public\\data.robot # 公共数据模块
Resource E:\\code\\RIDE\\RIDE\\helper\\public\\element.robot # 公共关键字模块
Resource ../login/element.robot
*** Variables ***
# 假设你的图片文件名为 ok_button.png,并且位于与测试用例相同的目录中
${OK_BUTTON_IMAGE} E:\\code\\RIDE\\RIDE\\helper\\user_case\\test\\1711782510070.png
*** Test Cases ***
Click OK Button In Popup
open local browser https://www.baidu.com/s?ie=UTF-8&wd=%E7%99%BE%E5%BA%A6
# 使用Sikuli的Click关键字来点击图片
${sorce} Get Match Score ${OK_BUTTON_IMAGE}
Log ${sorce}
SikuliLibrary.Click ${OK_BUTTON_IMAGE}
5.总结
不到万不得已不用这个 不稳定性很高