Sikuli-IDE用起来方便,但是用到实际项目中还是有局限性的,Sikuli提供了Sikuli-Script的jar包,在Sikuli-X的安装目录下,这样就可以在

eclipse中使用JAVA编写代码了,并用Sikuli-Script和selenium完美结合使用。

首先新建一个Sikuli的项目,导入Sikuli-Script.jar包,然后在项目下新建一个CaleTest.java,并且在项目文件下新建一个存放图片的文件夹PNG,在PNG文件夹下对应CaleTest.java建一个同名的文件夹存放对应使用的图片(便于维护)。

然后就开始敲代码了,代码如下:

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.sikuli.script.FindFailed;
import org.sikuli.script.Screen;

public class CaleTest {

    public static void main(String[] args) throws IOException, FindFailed {
        String path = "D:\\caleTest\\";
        String strat = null;
        String end = null;
        //打开计算器
        Process app  = Runtime.getRuntime().exec("calc.exe");
        //新建一个操作屏幕
        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);
        //等待元素出现,超时5秒
        scr.wait(path + "9.png", 5);
        //点击元素
        scr.click(path + "9.png");
        scr.wait(path + "x.png", 5);
        scr.click(path + "x.png");
        scr.wait(path + "8.png", 5);
        scr.click(path + "8.png");
        scr.wait(path + "-.png", 5);
        scr.click(path + "-.png");
        scr.wait(path + "1.png", 5);
        scr.click(path + "1.png");
        scr.wait(path + "=.png", 5);
        scr.click(path + "=.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 + "72.png", 1000) != null) {
            System.out.println("测试通过");
            app.destroy();       //关闭计算器进程
        } else {
            System.out.println("测试失败");
            app.destroy();
        }
    }
}

运行看结果即可

自动化工具 Sikuli-Script 使用的更多相关文章

  1. 自动化测试之sikuli调研

    调研结果 Sikuli可用于web和app的自动化测试中,操作简单,代码容易,但截图过程太过繁琐,所需要的图片内存占用量大,且sikuli的图片识别度较低,需对所要操作的图片进行精准截图. 什么是Si ...

  2. web自动化工具-livereload

    web自动化工具-livereload livereload是一个很神奇的工具,主要解放了F5键,监听文件变动,整个页面自动刷新.可搭载gulp等构建工具使用.和liveStyle 针对样式文件相比, ...

  3. 前端自动化工具gulp自动添加版本号

    之前,我介绍了学习安装并配置前端自动化工具Gulp,觉得gulp确实比grunt的配置简单很多,于是我决定再深入学习一下gulp,就去网上查了资料,发现gulp还可以自动添加版本号,这个功能就为我平时 ...

  4. 学习安装并配置前端自动化工具Gulp

    Gulp和所有Gulp插件都是基于nodeJs来运行的,因此在你的电脑上需要安装nodeJs,安装过程请移驾安装并配置前端自动化工具--grunt.安装完成后,通过运行cmd进入DOS命令窗口,如图: ...

  5. selenium 配合sikuli script操作高德地图

    会不会使用工具,是一般QA和高级QA的区别 ---To be crazy Java就是好,开源框架遍地都是,各种niubility的jar包,各种神器,真是不亦乐乎. 今天研究一下基于图片识别作为对象 ...

  6. Node.js前端自动化工具:gulp

    前端自动化工具 -- gulp 使用简介 gulp是基于流的前端自动化构建工具. 之前也谈到了 grunt的用法,grunt其实就是配置+配置的形式. 而gulp呢,是基于stream流的形式,也就是 ...

  7. C#最佳工具集合:IDE、分析、自动化工具等

    C#是企业中广泛使用的编程语言,特别是那些依赖微软的程序语言.如果您使用C#构建应用程序,则最有可能使用Visual Studio,并且已经寻找了一些扩展来对您的开发进行管理.但是,这个工具列表可能会 ...

  8. Ansible运维自动化工具19个常用模块使用实例【转】

    一.模块列表 1.setup 2.ping 3.file 4.copy 5.command 6.shell 7.script 8.cron 9.yum 10.service 11.group 12.u ...

  9. vue 组件开发、vue自动化工具、axios使用与router的使用(3)

    一. 组件化开发 1.1 组件[component] 在网页中实现一个功能,需要使用html定义功能的内容结构,使用css声明功能的外观样式,还要使用js定义功能的特效,因此就产生了一个功能先关的代码 ...

  10. 运维自动化工具ansible

    企业级自动化运维工具应用实战ansible 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出 ...

随机推荐

  1. 054、准备 macvlan环境(2019-03-21 周四)

    参考https://www.cnblogs.com/CloudMan6/p/7352620.html   除了overlay,docker还开发了另一个支持跨主机容器网络的 driver :macvl ...

  2. tomcat优化之安装并配置apr库

    在谈到tomcat优化时,必然要说到apr库,这个库是C语言实现的,tomcat通过JNI方式使用该库可以大大提高性能. tomcat在使用apr时需要安装apr,apr-util和tomcat-na ...

  3. 【深入理解JVM】:Java类继承关系中的初始化顺序

    尝试着仔细阅读thinking in java 看到一篇很好的文章http://blog.csdn.net/u011080472/article/details/51330114

  4. GCC编译器原理(二)------编译原理一:目标文件

    一.目标文件 在 UNIX® 和 Linux® 中,任何事物都是文件.UNIX 和 Linux 编程实际上是编写处理各种文件的代码.系统由许多类型的文件组成,但目标文件具有一种特殊的设计,提供了灵活和 ...

  5. Linux调试

    参考文章: http://mp.weixin.qq.com/s/Kz4tii8O4Nk-S4SV4kFYPA 各类调试工具: 参考链接:  http://www.brendangregg.com/li ...

  6. BFS与DFS算法解析

    1)前言 和树的遍历类似,图的遍历也是从图中某点出发,然后按照某种方法对图种所有顶点进行访问,且仅访问一次. 但是图的遍历相对树的遍历更为复杂,因为图中任意顶点都能与其他顶点相邻,所以在图的遍历中必须 ...

  7. 基于netty实现单聊、群聊功能

    学习资料 https://juejin.im/book/5b4bc28bf265da0f60130116/section/5b6a1a9cf265da0f87595521 收获: 转载 1. Nett ...

  8. 20165237 学习基础和C语言基础调查

    学习基础和C语言基础调查 一.技能学习与特长 你有什么技能比大多人(超过90%以上)更好? 我的爱好和技能说实话挺广泛的.如果要挑出来一个很擅长的话,我觉得应该是钢琴. 针对这个技能的获取你有什么成功 ...

  9. python模块-----time

    说明 time模块提供各种时间相关的功能 与时间相关的模块有:time,datetime,calendar 这个模块的功能不是适用于所有的平台 这个模块中定义的大部分函数是调用C平台上的同名函数实现 ...

  10. python第七天,dict

    在python里边创建字典的方法有如下几种: >>> dict1= dict(((),(),(),(),())) >>> print(dict1) {, , , , ...