MacacaUIFinder元素查找器

1. 这是什么?

  1. 这是一个用JavaSwing写的Macaca元素查找器,方便测试的小伙伴们定位元素,如果觉得不错,还请点个Star鼓励下,嘿嘿.

    地址:https://github.com/MatrixSeven/MacacaUIFinder

2. 为了什么?

  1. 为了解决在app-inspector上找到元素后,没一次在Java中启动Macaca(启动链接MacacaServer的过程)定位元素巨慢,有时候一个元素定位失败了,

    就要关闭macaca-server,然后启动app-inspector,找到元素,然后在次切换到macaca-server.我这里推荐启动app-inspector后开很多

    浏览器tab页面,把需要定位元素的页面都在tab中打开,然后打开本软件一次寻找元素,确认无误后拷贝出可用的定位串,直接在Java的测试用例中使用,而不必

    为了一个元素没有定位到反复重启Macaca-client(启动链接是一个非常耗时的动作).
  2. 还为了什么?为了我的女朋友...也为了更多挣扎在自动化UI测试的小伙伴们.

3. 为什么代码这么Low.

  1. 没办法,代码几乎一天抽时间写出来的.而且Swing的布局实在是恶心,本来想用JavaFX,但是没有找到好的资料,不过写完后发现了个TornadoFX,用

    Kotlin写DSL,真是在好用了.大家可以尝试下

4. 配置文件格式

  1. 具体参照官方Demo里面的Json字段来填写sample-java
[
{
"name":"iphoneX",
"deviceName":"iPhone X",
"bundleId":"测试包bundleId",
"udid":"真实设备的udid",
"platformName":"iOS"
},
{
"name":"小米8",
"deviceName":"xiaomi 8",
"app": "apk下载路径",
"udid":"真实设备的udid",
"platformName":"android"
}
]

5. 启动命令

直接git clone本项目或者下载MacacaElementUI-1.0.jar然后直接执行java -jar MacacaElementUI-1.0.jar食用该软件.

6. 关于设计

  1. 虽然很low,但是总体还是有设计可寻

    在写这个UI的时候为了避免层层嵌套,采用了事件发布订阅模式,每触发一个按钮/组件,

    就会发布对应的事件到事件管理者,然后事件管理者会才用线程分发的模式来分发这个事件给对应的

    订阅者,从而完成UI/事件的处理与各个JComponent的分离.

7. 实际效果

  1. 配置页面

  2. 执行页面

8. 提示

  1. 软件可能有未知bug.
  2. 目前处于测试阶段,勿喷.

作者:Accelerator

Email:hacker.kill07@gmail.com

吾爱Java(QQ群):170936712(点击加入)

MacacaUIFinder元素查找器的更多相关文章

  1. jQuery 的选择器常用的元素查找方法

    jQuery 的选择器常用的元素查找方法 基本选择器: $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myE ...

  2. 【哈希表】CodeVs1230元素查找

    一.写在前面 哈希表(Hash Table),又称散列表,是一种可以快速处理插入和查询操作的数据结构.哈希表体现着函数映射的思想,它将数据与其存储位置通过某种函数联系起来,其在查询时的高效性也体现在这 ...

  3. jQuery元素查找方式

    jQuery常用的元素查找方法总结 $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到 ...

  4. AC日记——元素查找 codevs 1230

    1230 元素查找  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 给出n个正整数,然后有 ...

  5. spring的PathMatchingResourcePatternResolver-通配符的Resource查找器

    PathMatchingResourcePatternResolver是一个通配符的Resource查找器,包括: /WEB-INF/*-context.xml com/mycompany/**/ap ...

  6. ExcelReport第三篇:扩展元素格式化器

    导航 目   录:基于NPOI的报表引擎——ExcelReport 上一篇:ExcelReport源码解析 概述 上篇中已介绍了ExcelRepor的架构,本篇将通过例子讲述如何扩展元素格式化器以满足 ...

  7. codevs1230 元素查找

    1230 元素查找  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description 给出n个正整数,然后有m个询问,每 ...

  8. 元素查找(codevs 1230)

    1230 元素查找  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description 给出n个正整数,然后有m个询问,每 ...

  9. 浅析jQuery中常用的元素查找方法总结

    本篇文章是对jQuery中常用的元素查找方法进行了详细的总结和介绍,需要的朋友参考下   $("#myELement") 选择id值等于myElement的元素,id值不能重复在文 ...

随机推荐

  1. 配置LANMP环境(9)-- 安装Git与vsftp

    一.安装Git 检查是否已经安装 git --version 安装 yum -y install git 二.安装vsftp 检查是否已经安装 yum list installed vsftpd 安装 ...

  2. Vue.js 2 入门与提高(一)

    ** Vue.js -- 渐进式前端框架 ** Vue.js作为一个后起的前端框架,借鉴了Angular .React等现代前端框架/库的诸多特点,并且 取得了相当不错的成绩. Vue.js的定位是一 ...

  3. 如何搭建maven项目和搭建ssm框架

    1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One ...

  4. Mysql 复制表数据(表结构相同)

    [1]Mysql 复制表数据(表结构相同) -- 方式一: create table table_name_dest as select * from table_name_src; -- 方式二: ...

  5. ubuntu下搭建的lamp环境新建站点

    这几天刚装了一个ubuntu 16.04桌面版,总之来来回回几遍才基本把环境搭建好,本来用apt-get搭建,结果不知道什么原因16.04版不支持装php5 ,提示源放弃了php5版本,不得不使用ph ...

  6. 44.Android MD5Util

    44.Android MD5Util public class MD5Util { public static String getMD5String(String key) { char hexDi ...

  7. linux下nginx安装php

    把php安装包上传到linux的/usr/local/src 1.解压 cd /usr/local/src tar zxvf php-5.6.9.tar.gz cd php-5.6.9 2.编译安装 ...

  8. 安装PyTorch 0.4.0

    https://blog.csdn.net/sunqiande88/article/details/80085569 https://blog.csdn.net/xiangxianghehe/arti ...

  9. Manager模块 队列 管道 进程池

    Manager模块 作用:  多进程共享变量. Manager的字典类型: 如果value是简单类型,比如int,可以直接赋值给共享变量,并可以后续直接修改 如果value是复杂类型 ,比如list, ...

  10. Apache启动失败(Windows 无法在本地计算机启动Apache2.2)

    该问题产生的原因有很多,这里就说说我遇到的问题: 这个问题是突然遇到的,启动的时候连日志都没有产生,最后是通过window的日志中发现问题所在的,如图所示: 发现是目录错了.其他问题也可以通过该日志找 ...