selenium flash

摘自金阳光

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.打开百度地图
  2.切换城市到郑州
  3.使用测距工具
  4.测量绿城公园--郑州植物园的距离

  前序工作:
  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 com.sikuli;
import java.io.File;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.safari.SafariDriver;
import org.sikuli.script.FindFailed;
import org.sikuli.script.Pattern;
import org.sikuli.script.Screen;
/**
* @author QiaoJiafei
* @version 创建时间:2016年4月5日 下午6:43:55
* 类说明
*/
public class TestSikuli {
public static void main(String[] args) {
// TODO Auto-generated method stub
testBaiDuMap();
}
/**
* @Title: testBaiDuMap
* @Description: TODO
* @return void
* @throws
*/
private static void testBaiDuMap() {
// TODO Auto-generated method stub
WebDriver dr = new SafariDriver();
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.id("ui3_city_change")).findElement(By.tagName("a")).click();//.findElement(By.tagName("em")).click();
//选择H省
dr.findElement(By.id("selCityLetterListId")).findElement(By.linkText("H")).click();
//选择郑州
dr.findElement(By.id("selCityPlaceListId")).findElement(By.linkText("郑州")).click();;
//打开工具下拉框
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 = "/Users/qiaojiafei/Documents/qiaojiafei/jarfile/sikuli/testphoto/from.png";
String topng = "/Users/qiaojiafei/Documents/qiaojiafei/jarfile/sikuli/testphoto/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();
} catch (FindFailed e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
  可以在代码中加入:
  import org.sikuli.basics.Debug;
  Debug.setDebugLevel(3);
  查看控制台sikuli的执行过程log

时间: 2024-10-14 10:48:48

selenium flash的相关文章

python3、selenium、autoit3,通过flash控件上传文件

autoit.au3 #include <Constants.au3> WinWait("打开","",20); //暂停执行脚本,直到上传对话框出现 WinActive("打开") WinWaitActive("打开","",5); //激活上传窗口 ControlFocus("打开", "", "[CLASS:Edit; INSTANCE:1

selenium之 文件上传所有方法整理总结

本文转载"灰蓝"的原创博客.http://blog.csdn.net/huilan_same/article/details/52439546 文件上传是所有UI自动化测试都要面对的一个头疼问题,今天博主在这里给大家分享下自己处理文件上传的经验,希望能够帮助到广大被文件上传坑住的seleniumer. 首先,我们要区分出上传按钮的种类,大体上可以分为两种,一种是input框,另外一种就比较复杂,通过js.flash等实现,标签非input 我们分别对这两种进行分析: 1.input标签

2.自动化测试之python+selenium基础

元素的定位    浏览器控制    鼠标事件      键盘事件    获取验证 设置等待      sleep休眠    定位一组元素   多表单切换  多窗口切换 警告框处理    上传文件      下载文件      cookies操作 javascript调用 截图          关闭窗口      验证码处理 一.元素的定位 1.webdriver提供的8种页面元素定位方法:     id/name/class name/tag name/link text/partial li

selenium 配合sikuli script操作高德地图

会不会使用工具,是一般QA和高级QA的区别 ---To be crazy Java就是好,开源框架遍地都是,各种niubility的jar包,各种神器,真是不亦乐乎. 今天研究一下基于图片识别作为对象的niubility的sikuli框架. MIT的研究人员设计了一种新颖的图形脚本语言Sikuli,计算机用户只须有最基本的编程技能(比如会写print"hello world"), 他不需要去写出一行行代码,而是用屏幕截图的方式,用截出来的图形元素组合出神奇的程序. 简单了解一下: 官网

Python实战之Selenium自动化测试web刷新FW

需求:将手工登录,手工刷新服务器的FW转化为Python+Selenium实现自动化操作. 1.创建用户表,实现数据与脚本分离.需要读取模块. 2.自动化刷新FW. 不说话,直接上代码: 1userdata.py #!/usr/bin/env python3 # -*- coding:utf-8 -*- ''' A model that use xlrd to read excel(include user info) ''' import xlrd class XlUserInfo(objec

[python爬虫] Selenium切换窗口句柄及调用Chrome浏览器

因为我的博客是根据我每个阶段自己做的事情而写的,所以前言可能有点跑题,但它更有利于让我回忆这个阶段自己的所作所为.这篇文章主要介绍Selenium爬虫获取当前窗口句柄.切换窗口句柄以及调用Chrome浏览器几个知识点,其中获取当前句柄的方法是非常重要的一个知识点,只有真正遇到的时候才能体会到它的强大.        最近课程比较多,写博客的内容也比较杂,包括网站搭建.HTML设计.计算机图形学.Python数据挖掘.Flash动画等.同时,这周也有老师让我帮忙写几个爬虫,自己进一步理解了爬虫的好

selenium结合docker构建分布式测试环境

selenium是目前web和app自动化测试的主要框架.对于web自动化测试而言,由于selenium2.0以后socker服务器由本地浏览器自己启动且直接通过浏览器原生API操作页面,故越来越多的人不再使用selenium RC了.大家使用的大多数是selenium-client,python版本的selenium-client最新版本是3.3.3(2017-04-04发布),却忽略了selenium server!事实上在大型的Grid分布式布局中必须要使用selenium server,

selenium+python—实现基本自动化测试

安装selenium 打开命令控制符输入:pip install -U selenium 火狐浏览器安装firebug:www.firebug.com,调试所有网站语言,调试功能 Selenium IDE 是嵌入到Firefox 浏览器中的一个插件,实现简单的浏览器操 作的录制与回放功能,IDE 录制的脚本可以可以转换成多种语言,从而帮助我们快速的开发脚本,下载地址:https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/ 如何使用

autoit对于web中flash控件的操作

1.对于autoit的环境配置和安装我就不多说了,网上一搜一大堆. 2.我本来使用selenium对于web进行自动化测试的,但是selenium对于flash也是无能为力,我在网上找了很长时间,对于selenium来说必须要对flash进行重新build来通过js进行操作,但是这是很久以前的方法,我也不清楚是否适用,所以选择autoit进行模拟人工操作是个不错的选择. 3.根据我在网上查找的资料要用autoit对于Firefox进行直接操作,必须要适用FF.au3,对于这样的操作我在网上找到的