51Testing软件测试论坛

标题: 如何在java中使用sikuli进行自动化测试 [打印本页]

作者: lsekfe    时间: 2016-10-14 16:29
标题: 如何在java中使用sikuli进行自动化测试
图形脚本语言sikuli


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

将sikuli-script.jar包添加到eclipse中。
[attach]103033[/attach]
然后编写自动化测试脚本:
  1. package com.mypro.sikuli;

  2. import org.sikuli.script.*;

  3. public class STest {

  4.     public static void main(String[] args) throws FindFailed, InterruptedException {
  5.         Screen s = new Screen();
  6.         //定义图片存放路径
  7.         String imgpath = "D:/java/sikuli/img/";
  8.         //双击桌面chrome浏览器图标
  9.         s.doubleClick(imgpath+"chrome.png");
  10.         //输入url
  11.         s.type(imgpath+"url.png","www.bing.com");
  12.         s.click(imgpath+"lianxiang.png");
  13.         Thread.sleep(2000);
  14.         //在bing输入框输入搜索关键字:sikuli,并点击搜索按钮
  15.         s.type(imgpath+"sreach_input.jpg","sikuli");
  16.         s.click(imgpath+"sreach_button.png");
  17.         
  18.         System.out.println("end");
  19.     }
  20. }
复制代码
我的图片目录:
[attach]103034[/attach]
执行日志:
  1. [info] Windows utilities loaded.
  2. [info] Sikuli vision engine loaded.
  3. [log] DOUBLE CLICK on (185,450)
  4. [log] CLICK on (426,206)
  5. [log] TYPE "www.bing.com"
  6. [log] CLICK on (430,239)
  7. [log] CLICK on (685,370)
  8. [log] TYPE "sikuli"
  9. [log] CLICK on (938,371)
  10. end
复制代码
如果在执行脚本的时候出现以下错误: Getting the VisionProxy.dll: Can not find dependent libraries...

把Sikuli X 的libs目录添加到系统环境变量path下:
  1. path:
  2. ;D:\Program Files (x86)\Sikuli X\libs
复制代码
什么是Sikuli X? 请参考本文开头的文字链接。

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

错误参考:

http://stackoverflow.com/questio ... t-find-dependent-li


作者: 277169949    时间: 2016-10-17 12:12
看上去不错的样子,这是做cs架构的客户端的?
作者: musekeke    时间: 2017-1-11 15:30
请教楼主,java中使用sikuli怎么做页面检查? 我尝试 if (s.exist() ),但是s.exist()是Match类型的 不能用if语句




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2