您的位置:首页 > 其它

selenium结合sikuli实现百度的图片搜索功能

2016-04-19 11:24 531 查看
本文是一个简单的maven项目,实现场景为:访问百度(https://www.baidu.com)--点击搜索框中的“camera”图标--点击“本地上传图片”--输入文件名--点击“打开”按钮。

首先,在pom.xml中引用项目所需要的依赖包;

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>

<groupId>com.wiley</groupId>
<artifactId>sikuliDemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.0</version>
</dependency>
<dependency>
<groupId>com.wiley.sikuli</groupId>
<artifactId>sikuli-script</artifactId>
<version>1.0.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<executions>
<execution>
<id>surefire-it</id>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>false</skip>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
</project>


其次,项目目录以及编写代码实现



package com.wiley.sikuli;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.sikuli.script.FindFailed;
import org.sikuli.script.Pattern;
import org.sikuli.script.Screen;

public class OnlinePainting {

public static void main(String[] args) throws FindFailed, InterruptedException {
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.get("https://www.baidu.com");
Screen screen = new Screen();
/**
* 1、图片在根目录下
*/
screen.click("camera.png");

/**
* 2、自定义图片位置
*/
Pattern upload = new Pattern("E:/workspace/sikuliDemo/pic/upload.png");
screen.click(upload);

screen.type("filename.png", "E:\\test\\upload.png");

screen.click("openButton.png");

Thread.sleep(3000);
driver.quit();
}
}



注意点:第一次编译的时候会提示找不到图片对应的dir目录,重启电脑可以解决此问题,具体原因不是很清楚。。。

参考:http://www.softwaretestinghelp.com/sikuli-tutorial-part-1/、http://www.softwaretestinghelp.com/sikuli-tutorial-part-2/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息