IDEA+Sikuli环境搭建及Demo


简介:Sikuli是识别和控制GUI组件进行UI自动化测试的技术,它是有MIT的研究人员开发进行设计的。Sikuli在墨西哥维乔印第安人(Huichol Indians)的语言里是上帝之眼的意思,Sikuli的工作模式与人眼一样,直接识别图像。这个项目的主创人员之一是来自台湾的张琮翔


  1. 在IDEA中导入Sikuli包

    事先下载好需要导入的jar包,在项目窗口中使用快捷键Ctrl+Alt+Shift+S 或 在工程文件上右键中选择 Open Module Settings 打开 Project Structure 窗口
    这里写图片描述
    选择Modules,点击选择最右面的 + 号 , 选择第一项或第二项(这里以第一项为例)
    这里写图片描述
    找到jar包路径,点击OK
    这里写图片描述
    在External Libraries中查看是否添加成功
    这里写图片描述

  2. 使用Sikuli实现UI自动化

    在项目中添加存放图片的文件夹,并放入,所需图片文件(Sikuli根据图片,去定位)
    这里写图片描述
    新建Class文件,并编写脚本

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.sikuli.script.FindFailed;
import org.sikuli.script.Screen;

public class CobotSys_ZQ extends Method_Cobot{

    public static void main(String[] args)  throws IOException, FindFailed {

        String path ="/home/wangw/IdeaProjects/CobotSys/Pictures_PNG/";   //图片路径
        String strat = null;
        String end =null;

        Screen scr = new Screen();   //实例化

        //获取时间,打印开始日志
        Date now = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        strat = dateFormat.format(now);
        System.out.println("strat"+"-------"+strat);

        scr.wait(path+"cion.png", 5);
        scr.click(path+"cion.png");


        scr.wait(path+"Navigation.png", 5);    //等待元素出现,超时5秒
        scr.click(path+"Navigation.png");        //点击元素



        Date now1 = new Date();
        SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        end = dateFormat1.format(now1);
        System.out.println("end"+"-------"+end);


        if (scr.exists(path+"result.png", 5) != null){
            System.out.println("测试通过");
        }
        else{
            System.out.println("测试失败");
        }
    }
}
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

运行结果如下
这里写图片描述

sikuli语法注:方法中参数,P代表图片格式,T代表文本格式

方法 描述
find(P) find就是找到与指定图片相似度最高的图片.
findall(P) findAll就是与指定图片相似的所有图片
wait(P) wait就是等待指定图片的出现
waitVanish(P) waitVanish就是等待指定图片的消失
exists(P) exists就是判断指定的图片是否存在
click(P) click就是找到与指定图片最相似的图片, 然后单击
doubleClick(P) doubleClick就是找到与指定图片最相似的图片, 然后双击
rightClick(P) rightClick就是找到与指定图片最相似的图片, 然后右击
hover(P) hover就是找到与指定图片最相似的图片, 然后鼠标指针悬浮其上
dragDrop(P,P) dragDrop就是从一个图形的中心点拉到另一个图形的中心点
type(T) 在焦点处, 一一输入指定的文字
type(P,T) 单击指定的图片, 然后再一一输入指定的文字
paste(T) 在焦点处, 粘贴指定的文字
paste(P,T) 单击指定的图片, 然后再粘贴指定的文字

猜你喜欢

转载自blog.csdn.net/ww1314510/article/details/82630666