ouniao

首页 新随笔 联系 订阅 管理

一、安装sikuli(参见:http://lijunwei1228ok.blog.163.com/blog/static/97383797201311279595821/)

1.官网:http://www.sikuli.org/download.html下载

2.在本地双击sikuli-setup.jar,然后再同一个目录中会出现,再双击这个进行安装。

3.安装完成后,在同一个目录下会生成如下文件

目录:F:\selenium\workspace\sikuli

4.双击runIDE.cmd可以运行sikuli的客户端。界面如下,

启动中:

启动后:

5.开始录制模态窗品控件

6.录制后保存文件为*.sikuli--(mtck.sikuli)

7.再导出文件*.skl--(mtck.skl)

8.准备好给java调用的文件如下:

目录:F:\selenium\workspace\sikuli\mtck

双击运行mtckcl.bat,只要能回放正常,在JAVA中调用就肯定没问题。

其中mtckcl.bat 的内容如下:

@echo off

:::::::::::::::::::::::::::
REM  调用Sikuli,点击模态窗口里面元素

::::::::::::::::::::::::::
set fjscriptHome=F:\selenium\workspace\sikuli\mtck
set SikuliHome=F:\selenium\workspace\sikuli
cd /d %fjscriptHome%
"%SikuliHome%"\runIDE.cmd -r "mtck.skl"

 

二、在eclipse中调用bat文件即可

 pm.click(By.id("BtnSwfFileUp"));     //上传附件
                      try {Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); }
                      
                      try{
                      Runtime.getRuntime().exec("F:\\selenium\\workspace\\sikuli\\mtck\\mtckcl.bat");
                      }catch (IOException e1){e1.printStackTrace();   System.out.println("fffffffff");}
                      //这里有个问题要注意,java调完用sikuli就会马上执行下面的代码,而这时sikuli都还没有执行完呢,所以只好先用sleep等待sikuli执行完,再执行下面的代码了
                      try {Thread.sleep(39000); } catch (InterruptedException e) { e.printStackTrace(); }
                      pm.sendKeys(By.id("txtTitle"), "公告发布111");    //输入标题

                      driver.findElement(By.id("btSubmit")).click();   //这里还有奇怪的问题等待后不会执行该句点击操作也不会错,而把输入标题放在这句上行后,就会执行这两句了。

 

 

 

posted on 2014-02-28 12:08  ouniao  阅读(872)  评论(0编辑  收藏  举报