集成AI的移动自动化测试

2023-11-14

集成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在移动端测试中发现更多有价值、普通测试手段发现不了的问题。


最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

 

软件测试面试文档

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

 资料获取方式:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

集成AI的移动自动化测试 的相关文章

随机推荐

  • Kafka3.0.0版本——消费者(消费者组初始化流程图解)

    一 消费者组初始化流程图解 每个consumer都发送JoinGroup请求 如下图所示 选出一个consumer作为leader 如下图所示 把要消费的topic情况发送给leader 消费者 如下图所示 leader会负责制定消费方案
  • C++ map下标操作[]和insert区别

    在构建map时候 我们是使用insert和 有什么区别呢 哪个更好呢 哪个效率更高呢 哪个更安全呢 首先需要明确的是 map中不允许存在相同的key Because map containers do not allow for dupli
  • conan包管理工具(1)

    conan包管理工具 Conan 是一个开源的 跨平台的 去中心化的 C 包管理器 通过它可以安装 解决构建依赖 更重要的是可以直接集成到 Build System 中使用 同时它也允许你搭建自己的私有仓库 供私有项目使用 具体到细节 当向
  • 使用Node解析EML文件

    文章目录 什么是EML文件 实现EML导入 就这 winmail dat 编码 什么是EML文件 通过的说 电子邮件导出后的文件格式就是 eml文件 比如使用outlook 163邮箱等等电子邮件程序将电子邮件导出后 就可以得到 eml文件
  • 现在人工智能实验报告

    当前 大数据及人工智能成为国际竞争的新焦点 是引领未来的战略性技术 人工智能的发展与实验报告作为提升国家竞争力 维护国家安全的重大战略 格物斯坦表示 加紧出台规划和政策 围绕核心技术 顶尖人才 标准规范等强化部署 力图在新一轮国际科技竞争中
  • Hexo博客搭建(简化版)

    Hexo博客搭建 简化版 一 环境搭建 1 1 Git Git官网 下载界面 gt git version 1 2 Node js 1 2 1 下载安装Node js Node js官网下载界面 gt node version 1 2 2
  • sublime代码自动补全

    html标签自动补全 在preferences sublime settings里面加上 作者 茉花 链接 https www zhihu com question 21628492 answer 131097215 来源 知乎 著作权归作
  • windows系统中docker部署mysql后,使用navicate链接

    一 Windows系统启动docker中mysql 通过docker桌面版启动 二 通过命令行 查看是否开启远程连接授权 依次输入mysql命令 mysql uroot p show databases use mysql show tab
  • 【工具】——VSCODE调试C++时无法显示Vector,map等容器的值

    转载自 VScode调试C 代码时无法查看STL容器 string vector等 原始状态 解决方法 编辑launch json 加入如下设置 setupCommands description Test text python impo
  • error The engine "node" is incompatible with this module. Expected 解决方法

    1 如果是部署在服务器上 看下服务器node版本 版本过低会导致这种问题 2 如果使用构建工具 需要确定构建中的环境node版本 构建中的版本可能跟服务器版本也会有差别 如jekins中有设置node环境的配置
  • 为什么要 API 优先?

    最近关于 API First API优先 作为设计和开发方法的讨论很多 虽然通向 API First 的途径有很多 但通常推动 API First 的一般都是 API 架构师 API 设计师和 API 平台负责人等 很好理解 因为他们对组织
  • 【服务器】将u盘挂载到服务器上并上传文件

    如果想将u盘上的东西上传到服务器 首先需要将u盘挂载到服务器 建议 在执行以下步骤时先别插u盘 更方便看出你的u盘在哪一个区 因为下面的操作需要管理员权限 所以可以直接登录服务器的管理员账号 或者进入自己的账号之后先 sudo xxx 其中
  • WIFI相关的缩写

    SIFS 短帧间间隔简称SIFS Short interframe space 是指用来分隔开属于一次对话的各帧 在这段时间内 一个站应当能够从发送方式切换到接收方式 使用SIFS的帧类型有 ACK帧 CTS帧 由过长的MAC顿分片后的数据
  • Android 宽高相等的adapter item内容

    使用一张网上的图 很多时候 我们需要用使用这样的排列 宽高固定 然后是中间留有一定的边距 毫无疑问 这里我们需要用到gridadapter GridView的item是正方形 而android需要适配不同尺寸的手机 所以不能写死item的高
  • HTML+CSS+JS网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计

    web前端开发技术期末大作业 网页规划与制造 做得不深 但是还是满足期末大作业的 分享一下 题目 此次课程设计的题目是网页规划与设计 html css js image video audio 确定每个页面将使用的页面布局技术 如结合使用C
  • 统计机器学习方法简述

    2013 01 28 09 04 分类 机器学习 序 建议阅读的同学要一点概率论和信息论的基础 参考文献的PDF版本我会尽快放在我的服务器上 我也仅仅是研一初学者 非常欢迎大家批评指正 赫尔伯特 西蒙对 学习 这个学习比较抽象 适合人 机器
  • Git使用(2)多人协作:与远程仓库之间的沟通

    简单版本连接到github等服务器 远程和本地都没有分支 1 git checkout b newbranch 新建一个newbranch 2 git push origin newbranch 3 git pull origin newb
  • 文献综述写作模板1.0

    参考视频 基础模板框架 https www bilibili com video BV1E54y1U7SM spm id from 333 337 search card all click vd source e5e46a7b9d3909
  • SpringBoot开发符合S3协议的文件存储服务

    背景 公司最近的业务大量涉及安可项目 要求避免使用第三方组件 原有开发框架支持本地文件存储 Minio 各类云存储 现在要求文件独立存储且文件服务需要自研 经调研评估后决定基于SpringBoot开发文件存储服务 使用s3协议标准 这样可以
  • 集成AI的移动自动化测试

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