当前位置: 首页 > news >正文

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!");}*/@Testpublic void addContact() throws FindFailed, InterruptedException{//获得电脑桌面屏幕内容Screen s = new Screen();//图片存储路径String imgpath="D:\\eclipse-jee-mars-2-win32-x86_64\\Appium_demo\\pics\\";//点击最小化,最小化eclipses.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为somes.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!");
}@Afterpublic void tearDown() throws Exception {//此处可以添加关闭该程序的按钮click,在此没有写出}

}

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

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

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

http://www.lryc.cn/news/22842.html

相关文章:

  • react源码分析:babel如何解析jsx
  • 搜广推 WideDeep 与 DeepCrossNetwork (DCN) - 记忆+泛化共存
  • 项目管理工具dhtmlxGantt甘特图入门教程(十四):导出/导入 Excel到 iCal
  • k-means聚类总结
  • char * 和const char *的区别
  • 【剑指offer】JZ3 数组中重复的数字、 JZ4 二维数组中的查找
  • 数据采集 - 笔记
  • 8年测开经验面试28K公司后,吐血整理出高频面试题和答案
  • spring读取properties顺序,重复key问题
  • 什么是api接口?(基本介绍)
  • 【2023全网最全教程】从0到1开发自动化测试框架(建议收藏)
  • 3-5天炒股短线战法指标思想结合----超级短线源码无未来
  • 原始GAN-pytorch-生成MNIST数据集(代码)
  • 注意,这些地区已发布2023年上半年软考报名时间
  • Html引入外部css <link>标签 @import
  • React源码分析8-状态更新的优先级机制
  • 如何在ChatGPT的API中支持多轮对话
  • 华为OD机试模拟题 用 C++ 实现 - 猜字谜(2023.Q1)
  • Containerd容器运行时将会替换Docker?
  • java虚拟机中对象创建过程
  • 3485. 最大异或和
  • SpringBoot:SpringBoot配置文件.properties、.yml 和 .ymal(2)
  • QT 学习之QPA
  • Pytorch中FLOPs和Params计算
  • DP1621国产LCD驱动芯片兼容替代HT1621B
  • Linux 用户管理
  • 前端vue面试题(持续更新中)
  • Java查漏补缺-从入门到精通汇总
  • 软件测试2年半的我,谈谈自己的理解...
  • 什么是SAS硬盘