sikuli实例
代码:
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实例的更多相关文章
- 最近学习工作流 推荐一个activiti 的教程文档
全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...
- sikuli+java实例
新建java工程,导入sikuli-script.jar包 public class TestSikuli { public static void openPage() throws FindF ...
- sikuli+eclipse实例
设置sikuli环境变量 如果在执行脚本的时候出现以下错误: Getting the VisionProxy.dll: Can not find dependent libraries... 把Sik ...
- selenium 配合sikuli script操作高德地图
会不会使用工具,是一般QA和高级QA的区别 ---To be crazy Java就是好,开源框架遍地都是,各种niubility的jar包,各种神器,真是不亦乐乎. 今天研究一下基于图片识别作为对象 ...
- Sikuli:创新的图形化编程技术
Sikuli是一种使用截图进行UI自动化测试的技术.Sikuli包括sikul脚本,基于Jython的API以及sikuli IDE.Sikuli可以实现任何你可以在显示器上看到ui对象的自动化,你可 ...
- 基于Sikuli GUI图像识别框架的PC客户端自动化测试实践
写在前面 最近两天,公司有个PC客户端的测试任务,除了最基础的功能测试外,还包括稳定性测试和兼容性测试需求.刚好去年接触过Sikuli这款基于GUI图像识别框架的自动化测试工具,于是便应用于测试工作中 ...
- js-静态、原型、实例属性
本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...
- ZIP压缩算法详细分析及解压实例解释
最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...
- EntityFramework Core 1.1是如何创建DbContext实例的呢?
前言 上一篇我们简单讲述了在EF Core1.1中如何进行迁移,本文我们来讲讲EF Core1.1中那些不为人知的事,细抠细节,从我做起. 显式创建DbContext实例 通过带OnConfiguri ...
随机推荐
- org.springframework.orm.hibernate3.support.OpenSessionInViewFilter作用
在Spring与Hibernate集成时在web.xml要加入这样的过滤器: <filter> <filter-name>openSessionInView</filte ...
- 将Xml或Json生成类的最简单方式
来源于 http://stackoverflow.com/questions/3187444/convert-xml-string-to-object
- Linux-Hostname-details
转自:http://www.cnblogs.com/kerrycode/p/3595724.html 当我觉得对Linux系统下修改hostname已经非常熟悉的时候,今天碰到了几个个问题,这几个问题 ...
- 【MySQL】常见的mysql 进程state
Analyzing 线程是对MyISAM 表的统计信息做分析(例如, ANALYZE TABLE ). checking permissions 线程是检查服务器是否具有所需的权限来执行该语句. Ch ...
- AngularJS初始化普通数组和对象数组
普通数组: ng-init="persons=['john','jack']" 对象数组: ng-init="persons=[{name:'john',age:20}, ...
- Cobar使用文档(可用作MySQL大型集群解决方案)
原文:http://my.oschina.net/ydsakyclguozi/blog/374564 最近好不容易抽空研究了下Cobar,感觉这个产品确实很不错(在文档方面比Amoeba强多了),特此 ...
- elipse 调试 反射 invoke 子类
真实案例: 调试一个接口,子类invoke的,结果断点断不到: 查找两个项目间的关联.依赖,无果. 问人吧,结果是配置文件没改成本机: #============================# # ...
- Webproject 每次运行都停到workerDone(this); tomcat调试
那是因为你是Debug调试,你要将Dubug的时间设置长一些; 设置步骤: window-> preferences -> java -> debug -> commu ...
- log4j的针对包和类的配置方法
- 转载:mybatis自动生成
MyBatis Generator中文文档 MyBatis Generator中文文档地址: http://generator.sturgeon.mopaas.com/ 该中文文档由于尽可能和原文内容 ...