sikuli+eclipse对于安卓app自动化测试的应用

Posted 程序员二黑.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sikuli+eclipse对于安卓app自动化测试的应用相关的知识,希望对你有一定的参考价值。

Sikuli是什么?

下面是来自于官网的介绍:Sikuli is a visual technology to automate and test graphical user interfaces (GUI) using images (screenshots). Sikuli includes Sikuli Script, a visual scripting API for Jython, and Sikuli IDE, an integrated development environment for writing visual scripts with screenshots easily. Sikuli Script automates anything you see on the screen without internal API’s support. You can programmatically control a web page, a Windows/Linux/Mac OS X desktop application, or even an iphone or android application running in a simulator or via VNC.

Sikuli是一种使用截图进行UI自动化测试的技术。Sikuli包括sikul脚本,基于Jython的API以及sikuli IDE。Sikuli可以实现任何你可以在显示器上看到ui对象的自动化,你可以通过编写一些代码来实现web 页面,window/linux/Mac OS X桌面应用、甚至是iphone和android模拟器的自动化测试。

实现sikuli+eclipse在安卓上的应用需要的相关软件和jar包:

1.sikulixsetup-1.1.0.jar/sikulixapi.jar(前者可以通过命令产生后者)

2.eclipse

3.小萝贝控机大师

4.一台安卓手机+数据线

5.安卓app的apk

第一步,首先讲一下,如何通过sikulixsetup-1.1.0.jar生成sikulixapi.jar包

sikulixsetup下载地址:
https://launchpad.net/sikuli/+download

  • 将jar包导入工程中;
  • 在cmd中运行该jar包。java -jar sikulixsetup-1.1.0.jar,则会出现如下图,选择相应选项后,启动会下载sikulixapi.jar。不然会报错:libs to export not found on above classpath: /sikulixlibs/mac/libs642.
  • 选择第二个
  • 启动后会有have fun的提示;
  • 在文件夹中找到下载的sikulixapi.jar包,导入到工程中。
  • 将apk放入项目的apps文件夹中,apps是后建的


第二步,将手机关联到电脑上

第三步,打开小萝贝控机大师,手机的界面可以在电脑上见得。

第四步,在eclipse中写代码,代码如下:

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.sikuli.script.FindFailed;
import org.sikuli.script.Screen;

public class SikuliTest
/*@Before
public void setUp() throws Exception

    System.out.println("App is launched!");


*/

@Test

 public void addContact() throws FindFailed, InterruptedException
    //获得电脑桌面屏幕内容
    Screen s = new Screen();
    //图片存储路径
    String imgpath="D:\\\\eclipse-jee-mars-2-win32-x86_64\\\\Appium_demo\\\\pics\\\\";
    //点击最小化,最小化eclipse
    s.click("D:\\\\eclipse-jee-mars-2-win32-x86_64\\\\Appium_demo\\\\pics\\\\min1.png");
    //找到桌面上控机大师中的图标
    s.find(imgpath+"Contect.png");
    s.click(imgpath+"Contect.png");
    
    Thread.sleep(1000);
    
    s.click(imgpath+"AddContact.png");
    
    Thread.sleep(1000);
    //输入contactname为some
    s.type(imgpath+"Contactname.png", "some");
    s.click(imgpath+"Contactemail.png");
    
    Thread.sleep(1000);

    s.type(imgpath+"Contactemail.png", "some@163.com");
    
    Thread.sleep(1000);
    
    s.click(imgpath+"save.png");
    
    System.out.println("App is done!");


@After

public void tearDown() throws Exception 

    //此处可以添加关闭该程序的按钮click,在此没有写出


第五步,右键,选择run as—>junit test运行该程序

运用sikuli+eclipse对安卓app进行自动化测试完成了,很简单吧,但是sikuli的对于图片的辨识度比较低,所以要求点击的位置一定要精确截图,写的有些地方不是很详细,之后我再补充。

最后:下方这份完整的自动化测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

以上是关于sikuli+eclipse对于安卓app自动化测试的应用的主要内容,如果未能解决你的问题,请参考以下文章

自动化工具 Sikuli-Script 使用

Android 手机自动化测试工具有哪几种

Android 手机自动化测试工具有哪几种

Java 上的 Sikuli 无法识别图像

如何在java中使用sikuli进行自动化测试

手机app测试都有哪些工具盒方法