Selenium结合sikuliX操作配置

来源:互联网 发布:有app源码怎么生成app 编辑:程序博客网 时间:2024/06/16 01:46
sikuli的官网地址:http://www.sikuli.org
  首先下载sikuliX的jar包:https://launchpad.net/sikuli/sikulix/1.1.0
  java-doc:http://nightly.sikuli.de/docs/index.html

  官网用法介绍:http://www.sikulix.com/quickstart.html

前序工作
  1.导入jar包:sikulixsetup-1.1.0.jar
  2.在cmd中运行该jar包。java -jar sikulixsetup-1.1.0.jar,则会出现如下图,选择相应选项后,启动会下载sikulixapi.jar。不然会报错:libs to export not found on above classpath: /sikulixlibs/mac/libs64

3.启动成功后会出现如下提示


4.截图,即代码中需要用到的出发位置,终点位置

示例代码如下:
package seleniumapi;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.sikuli.script.FindFailed;
import org.sikuli.script.Pattern;
import org.sikuli.script.Screen;

public class TestSikuli {
public static void main(String[] args) {
// TODO Auto-generated method stub
testBaiDuMap();
}

private static void testBaiDuMap() {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
WebDriver dr = new ChromeDriver();
dr.manage().window().maximize();
dr.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
dr.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
dr.get("http://map.baidu.com/");
// 打开工具下拉框
dr.findElement(By.id("tool-container")).findElement(By.xpath("//i[text()='工具']")).click();
// 选择测距
dr.findElement(By.id("boxul")).findElement(By.xpath("//i[text()='测距']")).click();
Screen screen = new Screen();
String frompng = "D:/from.png";
String topng = "D:/to.png";
Pattern from = new Pattern(frompng);
Pattern to = new Pattern(topng);
try {
if (screen.find(from) != null) {
screen.click(from);
}
if (screen.find(to) != null) {
screen.click(to);
}
screen.doubleClick();
// screen.doubleClick();
} catch (FindFailed e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

结果如图:
Selenium结合sikuliX操作Flash网页
注意:
sikulixapi.jar
sikulixlibswin.jar
这两个jar包必须引入,否则无效
常用api:
 screen.drag(move);//拖拽
 screen.doubleClick();//双击

原创粉丝点击