sikuli - 运行自动测试时,Sikuli 无法识别截图工具在屏幕上拍摄的图像
问题描述
我对 Sikuli 框架很陌生。我正在尝试使用 Sikuli 进行 GUI 测试。我已经使用 gmail 登录页面的截图工具拍摄了屏幕图像,以及我在运行测试用例时使用的相同图像。但似乎不知何故,Sikuli 框架无法匹配屏幕上的图像并出现以下错误:
FindFailed: C:/Rohit_Work_Dir/bdd_fw_workspace/cucumberwithrobotfw/src/test/java/com/learn/sikulimpl/emailId.png: (397x82) in S(0)[0,0 1280x720] E:Y, T:3.0
Line 2759, in file Region.java
at org.sikuli.script.Region.wait(Region.java:2759)
at org.sikuli.script.Region.find(Region.java:2336)
at org.sikuli.script.Region.getLocationFromTarget(Region.java:3213)
at org.sikuli.script.Region.click(Region.java:3698)
at org.sikuli.script.Region.keyin(Region.java:4366)
at org.sikuli.script.Region.type(Region.java:4328)
at com.learn.sikulimpl.LoginGmailAccountSteps.loginToGEAccount(LoginGmailAccountSteps.java:58)
笔记:
我正在使用 Eclipse 作为 IDE 进行测试。
我用 Sikula api 版本和 Selenium 创建了 maven 项目:
<dependency> <groupId>com.sikulix</groupId> <artifactId>sikulixapi</artifactId> <version>1.1.1</version> <exclusions> <exclusion> <groupId>com.github.vidstige</groupId> <artifactId>jadb</artifactId> </exclusion> </exclusions> </dependency>
解决方案
您应该使用高质量的图像,但也许您的工具会压缩它们。只需使用 Sikuli IDE,您的问题就会得到解决。
推荐阅读
- excel - Excel ADO“访问数据库引擎停止了进程,因为您和另一个用户正试图同时更改相同的数据”
- servlets - 可以不使用@WebListener 指定类名(与@WebServlet 不同)吗?
- ruby-on-rails - 在 Rails 模型关联中为以下用例选择关联的困境
- jquery - 表单提交两次(AJAX)
- tensorflow - 处理神经网络输入中的错误
- c# - 如何一次对所有项目运行验证(Sitecore7.2)?
- javascript - 更改标记图标
- mysql - SQL Select:如何将列与 ID 的计数相乘
- android - Android SIP 客户端多个配置文件
- php - 将项目从 localhost 移动到 cpanel 后,Laravel 需要更改 public_path 以上传文件