如何在java中使用sikuli进行自动化测试

简介:

 很早之前写过一篇介绍sikuli的文章。本文简单介绍如何在java中使用sikuli进自动化测试。

图形脚本语言sikuli

 

  sikuli IDE可以完成常见的单击、右击、移动到、拖动等鼠标操作,java引用sikuli-script.jar同样可以执行这些常见的鼠标操作,因此即可方便的编写java实现识别图片并模拟点击/拖动目标控件。

sikuli-script.jarhttp://download.csdn.net/download/hqd1986/4557974

将sikuli-script.jar包添加到eclipse中。

然后编写自动化测试脚本:

 

复制代码
package com.mypro.sikuli;

import org.sikuli.script.*;

public class STest {

    public static void main(String[] args) throws FindFailed, InterruptedException {
        Screen s = new Screen();
        //定义图片存放路径
        String imgpath = "D:/java/sikuli/img/";
        //双击桌面chrome浏览器图标
        s.doubleClick(imgpath+"chrome.png");
        //输入url
        s.type(imgpath+"url.png","www.bing.com");
        s.click(imgpath+"lianxiang.png");
        Thread.sleep(2000);
        //在bing输入框输入搜索关键字:sikuli,并点击搜索按钮
        s.type(imgpath+"sreach_input.jpg","sikuli");
        s.click(imgpath+"sreach_button.png");
        
        System.out.println("end");
    }
}
复制代码

 

我的图片目录:

  

执行日志:

复制代码
[info] Windows utilities loaded.
[info] Sikuli vision engine loaded.
[log] DOUBLE CLICK on (185,450)
[log] CLICK on (426,206)
[log] TYPE "www.bing.com"
[log] CLICK on (430,239)
[log] CLICK on (685,370)
[log] TYPE "sikuli"
[log] CLICK on (938,371)
end
复制代码

 

  如果在执行脚本的时候出现以下错误: Getting the VisionProxy.dll: Can not find dependent libraries...

把Sikuli X libs目录添加到系统环境变量path下:

path:
;D:\Program Files (x86)\Sikuli X\libs

 

什么是Sikuli X? 请参考本文开头的文字链接。

 

----------------------------------------------------

错误参考:

http://stackoverflow.com/questions/9568612/sikuli-windows-7-64-bit-getting-the-visionproxy-dll-can-not-find-dependent-li

 

目录
相关文章
|
1天前
|
Web App开发 数据采集 Java
《手把手教你》系列技巧篇(三十)-java+ selenium自动化测试- Actions的相关操作下篇(详解教程)
【4月更文挑战第22天】本文介绍了在测试过程中可能会用到的两个功能:Actions类中的拖拽操作和划取字段操作。拖拽操作包括基本讲解、项目实战、代码设计和参考代码,涉及到鼠标按住元素并将其拖动到另一个元素上或指定位置。划取字段操作则介绍了如何在一段文字中随机选取一部分,包括项目实战、代码设计和参考代码。此外,文章还提到了滑动验证的实现,并提供了相关的代码示例。
10 2
|
Java 测试技术
Java 中的单元测试和集成测试策略
【4月更文挑战第19天】本文探讨了Java开发中的单元测试和集成测试。单元测试专注于单一类或方法的功能验证,使用测试框架如JUnit,强调独立性、高覆盖率和及时更新测试用例。集成测试则验证模块间交互,通过逐步集成或模拟对象来检测系统整体功能。两者相辅相成,确保软件质量和降低修复成本。
|
6天前
|
前端开发 JavaScript Java
《手把手教你》系列技巧篇(二十五)-java+ selenium自动化测试-FluentWait(详细教程)
【4月更文挑战第17天】其实今天介绍也讲解的也是一种等待的方法,有些童鞋或者小伙伴们会问宏哥,这也是一种等待方法,为什么不在上一篇文章中竹筒倒豆子一股脑的全部说完,反而又在这里单独写了一篇。那是因为这个比较重要,所以宏哥专门为她量身定制了一篇。FluentWait是Selenium中功能强大的一种等待方式,翻译成中文是流畅等待的意思。在介绍FluentWait之前,我们来讨论下为什么需要设置等待,我们前面介绍了隐式等待和显式等待。
28 3
|
8天前
|
Java 测试技术 定位技术
《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
【4月更文挑战第15天】本文介绍了如何使用Selenium进行浏览器窗口切换以操作不同页面元素。首先,获取浏览器窗口句柄有两种方法:获取所有窗口句柄的集合和获取当前窗口句柄。然后,通过`switchTo().window()`方法切换到目标窗口句柄。在项目实战部分,给出了一个示例,展示了在百度首页、新闻页面和地图页面之间切换并输入文字的操作。最后,文章还探讨了在某些情况下可能出现的问题,并提供了一个简单的本地HTML页面示例来演示窗口切换的正确操作。
34 0
|
11天前
|
前端开发 JavaScript Java
《手把手教你》系列技巧篇(十九)-java+ selenium自动化测试-元素定位大法之By css下卷(详细教程)
【4月更文挑战第11天】按计划今天宏哥继续讲解css的定位元素的方法。但是今天最后一种宏哥介绍给大家,了解就可以了,因为实际中很少用。
35 2
|
12天前
|
前端开发 JavaScript Java
《手把手教你》系列技巧篇(十八)-java+ selenium自动化测试-元素定位大法之By css中卷(详细教程)
【4月更文挑战第10天】本文主要介绍了CSS定位元素的几种方法,包括ID属性值定位、其他属性值定位和使用属性值的一部分定位。作者提供了示例代码,展示了如何使用这些方法在Java+Selenium自动化测试中定位网页元素。通过CSS选择器,可以更精确地找到页面上的特定元素,如输入框、按钮等,并进行相应的操作,如输入文本、点击等。文章还提供了实际运行代码后的控制台输出和浏览器动作的示例。
49 0
|
13天前
|
前端开发 JavaScript Java
《手把手教你》系列技巧篇(十七)-java+ selenium自动化测试-元素定位大法之By css上卷(详细教程)
【4月更文挑战第9天】本文介绍了CSS定位方式的使用,包括它的优势和8种常用的定位方法。CSS定位相比XPath定位更快、更稳定。文章通过示例详细讲解了如何使用CSS定位元素,包括通过id、name、class name、tag name、link text、partial link text以及XPath进行定位。还提供了Java代码示例来演示如何在自动化测试中使用这些定位方法。
39 1
|
XML JSON 前端开发
阿里云JAVA高级测试试题及答案(十二)
阿里云JAVA高级测试试题及答案
204 0
阿里云JAVA高级测试试题及答案(十一)
阿里云JAVA高级测试试题及答案
188 0
|
XML 缓存 druid
阿里云JAVA高级测试试题及答案(十)
阿里云JAVA高级测试试题及答案
206 0