专栏首页搜狗测试集成AI的移动自动化测试

集成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的时间。

from appium import webdriver
from time import sleep

CAPS = {
    "deviceName": " HONOR 9x",
    "automationName": "UiAutomator2",
    "platformName": "Android",
    "platformVersion": "9.0",
    "appPackage": "com.ss.android.article.news",
    "appActivity": "com.bytedance.news.schema.AdsAppActivity",
    "noReset": True,
    "unicodeKeyboard": True,
    "resetKeyboard": True,
    "customFindModules": {"ai": "test-ai-classifier"},
    "testaiConfidenceThreshold": 0.1,
    "shouldUseCompactResponses": False,
}

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

# 用 Appium AI 插件定位到搜索框
driver.find_element_by_custom("ai:search").click()
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在移动端测试中发现更多有价值、普通测试手段发现不了的问题。

在AI热门和快速发展的今天

能够将AI方法和测试结合

将会是软件测试领域的一项重大突破

本文分享自微信公众号 - 搜狗测试(SogouQA),作者:liang

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 老板看了都说好的测试报告

    最近在进行汪小电语义服务测试,搭建了python+request+ddt+HTMLTestRunner的测试框架。由于HTMLTestRunner的测试...

    用户5521279
  • 如何做Git项目的持续集成

    持续集成(简称CI)指的是在代码提交的过程中持续地进行代码的集成、构建和自动化测试;借助CI工具,可以在代码提交的过程中通过单元测试等方式尽早地发现引入的问题。...

    用户5521279
  • Android如何调用so文件

    下面通过一个安卓调用C++代码打印字符串的实例介绍一下在Android Studio中使用最新的编译方式编译出so文件的步骤。

    用户5521279
  • IBM提倡公开AI开发情况说明书,以增加透明度和公众的信任感

    IBM研究院的AI基金会负责人,AI Science for Social Good计划的联合主席Aleksandra Mojsilovic今天表示,创建,测试...

    AiTechYun
  • 从假脸到假新闻,你怎样逃出“AI楚门的世界”?

    导读:曾几何时,你是否会对这个世界产生怀疑:我到底生活在一个怎样的世界?它到底是真实的,还是一个受人控制虚假的世界?有人可能会奇怪,为什么会有这种想法,但是如果...

    华章科技
  • AI专利之争:小米超华为,国家电网才是大Boss?

    以往相关机构发布 AI 专利数量排行榜时,如果表明“中国在 AI 专利申请数量上已经超过美国,中国在 AI 技术实力上已在国际上遥遥领先”,这类榜单会招致对中国...

    AI科技大本营
  • 在人工智能的世界里,测试将是一场噩梦,衡量标准将是关键

    人工智能进入企业是由更多的数据的可用性推动。更多有趣的数据可用于更高的数据量,因为已经被测试的系统,应用程序,进程和接口的数量正在增加。数据的可用性使龙头企业进...

    企鹅号小编
  • AI抢程序员工作:2040年AI可能代替程序员

    新智元
  • 斯坦福发布2019全球AI报告:中国论文数量超美国,自动驾驶汽车领域获投资最多

    近日,斯坦福联合MIT、哈佛、OpenAI等院校和机构发布了一份291页的《2019年度AI指数报告》。这份长达291页的报告从AI的研究&发展、会议、技术性能...

    曼孚科技
  • 找对象的区块链都有了,程序员你为什么还单身?

    镇定,不要怕,我们已经找到了很多方法,解决单身和撩妹撩汉这些问题了。从训练沟通、到相识相知、再到约会恋爱、结婚再婚的一条龙服务,都有合适的程序和算法来为你解决。

    HyperAI超神经

扫码关注云+社区

领取腾讯云代金券