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 ...
随机推荐
- 010. 使用.net框架提供的属性
C#允许在类和类成员上声明特性(类), 可在运行时解释类和类的成员. 这个特性也称为属性, 使用Attribute.下面演示如何使用.net框架提供的属性. using System; using S ...
- MVC2、MVC3、MVC4、MVC5之间的区别 以及Entity Framework 6 Code First using MVC 5官方介绍教程
现在MVC的技术日趋成熟,面对着不同版本的MVC大家不免有所迷惑 -- 它们之间有什么不同呢?下面我把我搜集的信息汇总一下,以便大家能更好的认识不同版本MVC的功能,也便于自己查阅. View Eng ...
- System.AccessViolationException,尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
从事件查看器中发现,IIS不定期崩溃并重启的现象.抓取crash dump文件后,发现能够看到异常,但没有堆栈信息(主要是只会看托管代码的堆栈,非托管的不清楚.),问题表现及dump日志的截图如下: ...
- js net 除法取整
1.js中 在编程运算中,除法取整数是比较常用的!一般的编程语言都有内置的函数,JS 脚本也不例外.在JavaScript 中,实现除法取整数有两种方法,即是两个内置函数:Math.floor 和Ma ...
- [java] 40个Java多线程问题总结
40个问题汇总 1.多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡.所谓"知其然知其所以然","会用 ...
- [spring security] spring security 4 基础Demo
依赖包: <properties> <junit.version>4.11</junit.version> <spring.version>4.1.6. ...
- SharePoint 2010 最佳实践学习总结------第1章 SharePoint Foundation开发基础
----前言 这段时间项目出在验收阶段,不是很忙,就潜心把SharePoint学一下,不求有多深刻,初衷只是先入门再说.后续会发布一系列的学习总结.主要学习的书籍为<SharePoint2010 ...
- Servlet Listener
需要继承ServletContextListener接口. 代码: package com.my; import java.io.*; import javax.servlet.*; import j ...
- js setTimeout
setTimeout用法 //每个0.5秒钟改变字体和背景颜色,字体一闪一闪的效果 var flag = 0; function start(){ var text = document.getEle ...
- Python 创建函数和代码重用
1. cat func.py #!/usr/bin/python def func(): print "hello,this is a function" def func2(): ...