为了账号安全,请及时绑定邮箱和手机立即绑定

MacacaUIFinder元素查找器

标签:
Java

MacacaUIFinder元素查找器

1. 这是什么?

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

2. 为了什么?

  1. 为了解决在app-inspector上找到元素后,没一次在Java中启动Macaca(启动链接MacacaServer的过程)定位元素巨慢,有时候一个元素定位失败了,
    就要关闭macaca-server,然后启动app-inspector,找到元素,然后在次切换到macaca-server.我这里推荐启动app-inspector后开很多
    浏览器tab页面,把需要定位元素的页面都在tab中打开,然后打开本软件一次寻找元素,确认无误后拷贝出可用的定位串,直接在Java的测试用例中使用,而不必
    为了一个元素没有定位到反复重启Macaca-client(启动链接是一个非常耗时的动作).

  2. 还为了什么?为了我的女朋友...也为了更多挣扎在自动化UI测试的小伙伴们.

    3. 为什么代码这么Low.

  3. 没办法,代码几乎一天抽时间写出来的.而且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. 配置页面
     https://img1.sycdn.imooc.com//5b95d0240001962b20001260.jpg

  2. 执行页面
    https://img1.sycdn.imooc.com//5b95d02d0001943e20001260.jpg

8. 提示

  1. 软件可能有未知bug.

  2. 目前处于测试阶段,勿喷.

原文出处:https://www.cnblogs.com/seven007/p/9617495.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消