代码:

package selenium.sikuli;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.sikuli.script.FindFailed;
import org.sikuli.script.Screen;
import org.sikuli.script.Settings;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test; public class Practice {
WebDriver driver; // @BeforeMethod
// public void begin(){
// System.out.println("执行测试之前");
// } @Test
public void Login() throws FindFailed, InterruptedException{
System.setProperty("webdriver.firefox.bin", "D:\\ruanjian\\Firefox\\azml\\firefox.exe");
//打开火狐浏览器
driver= new FirefoxDriver(); // System.setProperty("webdriver.firefox.bin", "D:\\ruanjian\\Firefox\\azml\\firefox.exe");
// WebDriver driver;
// //实例化火狐,即打开火狐浏览器
// driver= new FirefoxDriver();
//String url = "http://localhost:8080/portal/main/domain/index.htm";
String url = "https://www.yuncourt.com/portal/main/domain/index.htm";
//打开网页
driver.get(url);
//打开窗口
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
System.out.println("执行到这里啦");
Screen screen = new Screen(); //screen.wait("src/img/firefox.png",20);
//绝对路径
//String imgpath = "D:\\study\\eclipse\\workspace\\test-sikuli-java\\src\\image\\";
//相对路径
String imgpath = ".\\src\\image\\";
screen.click(imgpath+"login.png");
Thread.sleep(2000);
//输入用户名
screen.type(imgpath+"loginName.png","18698580755");
//输入密码
screen.type(imgpath+"loginPassword.png","a111111");
//点击登录
screen.click(imgpath+"login_click.png"); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
String str = driver.findElement(By.xpath("/html/body/div[3]/div/div/div/a[1]")).getText();
System.out.println(str);
driver.findElement(By.xpath("/html/body/div[3]/div/div/div/a[1]")).click(); // String imgpath1 = ".\\src\\image.information\\";
// screen.click(imgpath1+"accuser.png");
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); } }

例子2:打开谷歌》打开百度一下链接》输入sikuli》进行百度(运行成功)

public class TestSikuli {
@Test
public static void openPage() throws FindFailed, InterruptedException {
Screen s = new Screen();
//定义图片存放路径
//方法一 绝对路径
String imgpath = "D:\\study\\eclipse\\workspace\\test-sikuli-java\\src\\image\\";
//方法二 相对路径
//String imgpath = ".\\src\\image\\";
//双击桌面chrome浏览器图标
s.doubleClick(imgpath+"chrome.png");
s.click(imgpath+"baidu.png");
Thread.sleep(2000); //在输入框输入搜索关键字:sikuli,并点击搜索按钮 //s.type(imgpath+"search_input.png", "sikuli");
s.find(imgpath+"search_input.png");
s.paste(imgpath+"search_input.png", "sikuli");
s.click(imgpath+"search_button.png");
System.out.println("end");
}
}

sikuli实例的更多相关文章

  1. 最近学习工作流 推荐一个activiti 的教程文档

    全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...

  2. sikuli+java实例

      新建java工程,导入sikuli-script.jar包 public class TestSikuli { public static void openPage() throws FindF ...

  3. sikuli+eclipse实例

    设置sikuli环境变量 如果在执行脚本的时候出现以下错误: Getting the VisionProxy.dll: Can not find dependent libraries... 把Sik ...

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

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

  5. Sikuli:创新的图形化编程技术

    Sikuli是一种使用截图进行UI自动化测试的技术.Sikuli包括sikul脚本,基于Jython的API以及sikuli IDE.Sikuli可以实现任何你可以在显示器上看到ui对象的自动化,你可 ...

  6. 基于Sikuli GUI图像识别框架的PC客户端自动化测试实践

    写在前面 最近两天,公司有个PC客户端的测试任务,除了最基础的功能测试外,还包括稳定性测试和兼容性测试需求.刚好去年接触过Sikuli这款基于GUI图像识别框架的自动化测试工具,于是便应用于测试工作中 ...

  7. js-静态、原型、实例属性

    本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...

  8. ZIP压缩算法详细分析及解压实例解释

    最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...

  9. EntityFramework Core 1.1是如何创建DbContext实例的呢?

    前言 上一篇我们简单讲述了在EF Core1.1中如何进行迁移,本文我们来讲讲EF Core1.1中那些不为人知的事,细抠细节,从我做起. 显式创建DbContext实例 通过带OnConfiguri ...

随机推荐

  1. HOCON 了解

    Spec This is an informal spec, but hopefully it's clear. Goals / Background The primary goal is: kee ...

  2. 阅读layim代码小记,实现可以更改用户签名的方法

    用layim原版的时候发现,用户的签名是不能直接修改的,如下: 其实要改也很简单,查看一下源代码,然后加一个input进去,可是,加完之后是这样的: 没关系,给它一个样式,让它乖乖的“隐藏“起来. / ...

  3. js 监听整个页面的回车事件

    JS监听整个页面的回车事件 <script type="text/javascript"> document.onkeydown=keyDownSearch;      ...

  4. HBase(二): c#访问HBase之股票行情Demo

    上一章完成了c#访问hbase的sdk封装,接下来以一个具体Demo对sdk进行测试验证.场景:每5秒抓取指定股票列表的实时价格波动行情,数据下载后,一方面实时刷新UI界面,另一方面将数据放入到在内存 ...

  5. C# .net 最大HTTP连接数

    说明:本WCF程序收到请求时会对外HTTP请求. 桌面系统默认是2个,如果是SERVER,默认是10个,超过10个就会排队,当有大量向外请求时,很多对外请求就会超时.排队的HTTP请求超时仍在计时. ...

  6. 【JDBC】向数据表插入数据时,自动获取生成的主键

    数据表设计时,一般都会有一个主键(Key)(自己指定),有时也可以使用联合主键: 有许多数据库提供了隐藏列为表中的每行记录分配一个唯一键值(如:rowid): 当我们没有指定哪一列作为主键key时,数 ...

  7. C++设计新思维的traits和policy

    http://blog.csdn.net/zhoudaxia/article/details/4486487 这篇博客讲得挺清楚的,本来想自己写写看总结下的,不过看了下这个文章已经写得很清楚了,倒没有 ...

  8. rsync 同步文件

    rsync 同步文件 rsync -avz roo@192.168.4.12::/home/a ./a  --exclude "data" exclude 去掉/a/data 文件 ...

  9. html中select标签获取选中value和text

    $("#id").find("option:selected").text(); //获取Select选择的Text$("#id").val ...

  10. [摘]PE中安装Windows 7/8

    1. 用WinPE U盘启动盘进入电脑.2. 格式化C盘,C盘一定要是激活状态(活动状态).3. 把Win8的ISO文件提取到D:/win8下 4. 从提取的文件中拷备:bootmgr boot(整个 ...