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桌面应用、甚至是iphoneandroid模拟器的自动化测试。

实现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的对于图片的辨识度比较低,所以要求点击的位置一定要精确截图,写的有些地方不是很详细,之后我再补充。

时间: 2024-10-08 10:34:37

sikuli+eclipse对于安卓app自动化测试的应用(第一次写博客,有些语言还不太专业,望海涵)的相关文章

安卓开发笔记——打造属于自己的博客园APP(四)

在上篇文章<安卓开发笔记——打造属于自己的博客园APP(三)>中,我们对博客文章的详情页和评论页进行了实现,慢慢的一个APP已经出现雏形了,当然这只是完成了"表面效果",要真正做好一个APP并不是一件很轻松的事情,有很多细节需要我们一点一滴的去完善. 好了,来讲下今天要完成的效果,在优化了之前部分代码的前提下,今天来说下关于博客搜索和博客详情页的实现,依旧国际惯例,来看下效果图:(动态图片比较大,加载需要点时间) 效果比较简单,很多东西我们还是可以复用之前的代码,毕竟这种列

安卓开发笔记——打造属于自己的博客园APP(二)

在上一篇文章<安卓开发笔记——打造属于自己的博客园APP(一)>中,我们基本上实现了博客园的主体UI框架(后面可能会有些小变化,等遇到了再说).今天来讲讲博客园首页模块的大体实现,国际惯例,先来看下效果图: 整体UI效果: 下拉刷新和上拉加载的动画效果: 在上篇文章中,我们定义的Tabs主题文字分别是(首页,精华,候选,推荐),这边的命名我是根据博客园网站首页的栏目来命名的,那时候我还没仔细看过博客园的开放接口,后来才发现原来博客园没有对应开放这些栏目的接口,博客园只开放了(文章列表,48小时

安卓开发笔记——打造属于自己的博客园APP(一)

最近事情比较多,博客更新又落下了,平时有个习惯,喜欢睡前看看博客园里博友的文章,但一直感觉APP市场上下载下来的博客园客户端用起来并不是很舒服,近来发现博客园也有对外开放的数据接口,所以打算自己写个博客园的客户端. 近来谷歌推出了一套全新的UI设计规范——Material Design,不清楚的朋友看看<Material design非官方中文指导手册>,相比之前谷歌在Android Holo风格上平平淡淡的表现不同,Material Design现在是被Google所比较重视的.在推出这门全

H5混合开发APP配置以及第一个工程--博客园老牛大讲堂

前段时间有人问我怎样用H5开发app,我恰好知道就把步骤粘出来,有不懂的地方给我留言,我再修改.--博客园老牛大讲堂 思想:首先用Hbuilder开发工程,把自己的工程粘贴到APICloud的工程里面.然后用网上的APICloud的内容打包内容. 环境:Hbuilder,夜神模拟器,APICloud开发工具. 提示:因为APICloud因为提示功能不好,所以建议如果想开发就用Hbuilder开发.开发完就把css,js,img粘里面就行了. 第一.首先下载一个APICloud开发环境(APICl

安装eclipse或者Android STDIO,运行一个安卓程序,并截图。发博客插入图片。

安装Android STDI 运行一个安卓程序,并截图 原文地址:https://www.cnblogs.com/zz2333/p/11448910.html

[编译] 6、开源两个简单且有用的安卓APP命令行开发工具和nRF51822命令行开发工具

星期四, 27. 九月 2018 12:00上午 - BEAUTIFULZZZZ 一.前言 前几天给大家介绍了如何手动搭建安卓APP命令行开发环境和nRF51822命令行开发环境,中秋这几天我把上面篇文章的操作流程全部做成了shell脚本,使得可以让其他人简单运行下脚本.就能够直接建立绿色开发环境,岂不美哉? <[编译] 5.在Linux下搭建安卓APP的开发烧写环境(makefile版)-- 在Linux上用命令行+VIM开发安卓APP> <[编译] 4.在Linux下搭建nRF518

291.博客园安卓&amp;苹果手机客户端开源项目整理

1.简介 1.1本贴简介 本贴主要收集一些博客园安卓&苹果端的开源项目,方便园友参与开发和下载,各个风格不同,根据各人审美参与开发和下载使用,欢迎下方留言投稿. 1.2本贴说明 本贴为个人整理,与博客园官方无关,其中所有观点看法均为个人看法,不代表博客园官方和开发者,如有侵权或言论不良,请下方留言,必定删除或修改. 下方排序为本文博主接触及收集顺序,并不是安全性.美观性等标准的排序. 博主简评为个人看法,并不代表该应用的全部特点,只是选取个人认为比较方便实用或者突出的特点进行说明,如有本同看法欢

【原】博客园第三方客户端-i博客园App开源

[原]博客园第三方客户端-i博客园App开源 本文转载请注明出处 —— polobymulberry-博客园 1.前言 目前i博客园App已经更新到2.0.0版本了,使用了最新的博客园Web API.相比于第一个版本,添加了很多新的功能,也修改了很多功能.整体来说改动比较大,代码也比较混乱.所以趁着清明假期,把代码好好整理了一番.目前基本的架构已成型(当然,后期还需要不断优化),但App基本功能方面还有很多需要添加的,后面会集中把App功能完善. 上面简单介绍了下目前App的情况,回到开源的话题

博客园客户端(Universal App)开发随笔 -- App的精灵:自定义控件

前言 拿到一个App的需求后,对于前端工程师来说,第一步要干什么?做Navigation规划!第二步要干什么?做页面分解!页面分解如何做?首先要确定UI Element的容器,其次要抽象UI Element本身,也就是要做一堆自定义控件,最终组成整个页面.今天我们就说说自定义控件如何实现吧. 感性认识 在我们的博客园UAP的Windows Phone的版本中,一个最重要的自定义控件就是PostControl,它的样子如下图中红色矩形内所示. 这个控件在无数页面中都要用到,而且有几种变种.上面看到