selenium结合sikuli实现百度的图片搜索功能
2016-04-19 11:24
531 查看
本文是一个简单的maven项目,实现场景为:访问百度(https://www.baidu.com)--点击搜索框中的“camera”图标--点击“本地上传图片”--输入文件名--点击“打开”按钮。
首先,在pom.xml中引用项目所需要的依赖包;
其次,项目目录以及编写代码实现
注意点:第一次编译的时候会提示找不到图片对应的dir目录,重启电脑可以解决此问题,具体原因不是很清楚。。。
参考:http://www.softwaretestinghelp.com/sikuli-tutorial-part-1/、http://www.softwaretestinghelp.com/sikuli-tutorial-part-2/
首先,在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/
相关文章推荐
- C#图片上传效果实例分析
- 独立图片服务器的图片上传的解决方式
- JavaScript多图片上传案例
- 图片上传之前检查大小、尺寸、格式并预览的js代码
- 基于jquery实现图片上传本地预览功能
- 原生ajax和iframe框架实现图片文件上传的两种方式
- javascript 图片上传预览-兼容标准
- FCKeditor 图片上传进度条不动的解决方法
- 配置fckeditor 实现图片的上传
- jQuery实现图片上传和裁剪插件Croppie
- PHP swfupload图片上传的实例代码
- ASP.NET图片上传实例(附源码)
- PHP实现图片上传并压缩
- thinkphp实现图片上传功能分享
- 两种php实现图片上传的方法
- jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
- 基于C# winform实现图片上传功能的方法
- nodejs 整合kindEditor实现图片上传
- php实现图片上传并利用ImageMagick生成缩略图