浅谈集成AI的移动自动化测试

集成AI的

移动自动化测试

前一阵子小编看到了爱奇艺Android架构师的一篇文章《爱奇艺基于AI的移动自动化框架的设计与实践》。介绍了了一种基于AI算法的自动化测试框架Aion,该框架融合了传统图像处理和深度学习方案。虽然目前该框架还未开源,但是给了小编很多启发。

《爱奇艺基于AI的移动自动化框架的设计与实践》中的介绍图

后来,小编调研过程中发现,Appium也已经在探索AI自动化测试的解决方案,目前已经提供了Appium分类器插件,将AI算法结合在元素定位上。

Q:

什么是分类器

概括来说:分类器是用于机器学习/数据挖掘中学习或训练出来的一个函数或者模型。

举个例子,假如有一个小朋友,从来没见过猫和狗,我们给他一堆猫猫狗狗的图片,并且告诉他可以看耳朵、眼睛、尾巴、鼻子等等来判断的方法,每给他一张图片都告诉他这是猫或者这是狗,后来小朋友就学会了根据耳朵、眼睛、鼻子、尾巴等特征判别猫和狗的方法。这个方法,就是分类器。

Appium中的分类器就是利用AI的方法判别图标/图形的一个方法。目前这个分类器已经可以识别105个图标/图形。

举个例子,我们经常在各种APP中遇到搜索框,可能会看到这样的,那样的,什么样子的都有。

 这些搜索框的定位如果用传统方法就要一个一个的去找id等方法,很麻烦。仔细观察,可以发现搜索框里面都有一个放大镜图标,这个就可以用分类器去找到,然后调用click方法就可以点击到搜索框区域了。

Q:

怎样使用Appium AI插件

第一步,安装Android SDK

小编比较推荐直接安装Android Studio,因为里面集成了Android SDK,Android Studio里也有模拟器等工具可以在以后的测试中使用。

第二步,安装Appium

最新的Appium已经是15.1版本了,直接官网下载安装应用安装即可,省去了老版本一些复杂的配置步骤。

第三步,安装Appium AI插件

可以在GitHub上找到,这个插件的安装也很简单,GitHub页面上给出了npm命令(这里需要先有node.js的环境),直接运行即可,如果遇到报错可以切换源重试。

第四步,使用

下面小编提供一个示例代码,用于打开今日头条并根据AI定位到搜索图标点击,从而实现点击到搜索框区域。从而减少了找元素id的时间。
 

 
  1. from appium import webdriver

  2. from time import sleep

  3. CAPS = {

  4. "deviceName": " HONOR 9x",

  5. "automationName": "UiAutomator2",

  6. "platformName": "Android",

  7. "platformVersion": "9.0",

  8. "appPackage": "com.ss.android.article.news",

  9. "appActivity": "com.bytedance.news.schema.AdsAppActivity",

  10. "noReset": True,

  11. "unicodeKeyboard": True,

  12. "resetKeyboard": True,

  13. "customFindModules": {"ai": "test-ai-classifier"},

  14. "testaiConfidenceThreshold": 0.1,

  15. "shouldUseCompactResponses": False,

  16. }

  17. driver = webdriver.Remote('http://localhost:4723/wd/hub', CAPS)

  18. sleep(5)

  19. # 用 Appium AI 插件定位到搜索框

  20. driver.find_element_by_custom("ai:search").click()

  21. sleep(5)

在caps里面有和平时使用的区别是增加了四个参数。其中automationName必须指定为‘UiAutomator2’或者是‘Espresso’,customFindModules必须指定为‘{"ai": "test-ai-classifier"}’;testaiConfidenceThreshold是机器学习中最低置信度的参数,默认值是0.2;shouldUseCompactResponses可以加快获取插件的输入过程。

写在最后

最后的开头,小编想说当前AI元素定位的缺点,就是Windows系统还不支持,因为Appium AI 插件需要一些系统依赖项来处理图像,另外各种限制也约束也比较多,并没有真正的集成到Appium中。希望早日能够支持全平台下使用该AI插件,并且不断扩充功能,也不仅仅限于元素定位。

在爱奇艺的AI移动端自动化测试的文章中写到:结合AI的移动端自动化能够利用 AI 解决更多问题,如页面异常检测、用户行为预测,页面预加载等。小编也非常看好AI在移动端测试中发现更多有价值、普通测试手段发现不了的问题。

既然看到这里,在收藏的同时,也请不吝啬的点个赞呗!期待 ~

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值