前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >集成AI的移动自动化测试

集成AI的移动自动化测试

作者头像
用户5521279
发布于 2020-02-24 08:42:39
发布于 2020-02-24 08:42:39
1.4K00
代码可运行
举报
文章被收录于专栏:搜狗测试搜狗测试
运行总次数:0
代码可运行

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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方法和测试结合

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python Appium 安卓自动化测试 基本使用 - Phone Spider
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用
EXI-小洲
2023/10/16
5970
Python Appium 安卓自动化测试 基本使用 - Phone Spider
Appium自动化测试框架探索与实践
在目前效率为王的互联网时代,移动应用自动化测试逐渐替代原始的手工功能测试,越来越成为测试界的时尚宠儿,小编在这里也为大家介绍下现有的客户端自动化测试框架:Appium、Airtest,并简单比较下两者的区别,同时重点介绍Appium自动化测试框架,大家跟随小编的脚步一起来探索客户端自动化测试框架吧~
用户5521279
2020/08/21
3.1K0
Appium自动化测试框架探索与实践
12.UI自动化测试框架搭建-编写一个APP自动化
APP自动化测试和Web自动化测试的不同之处在于它的环境搭建更复杂,不过环境搭建之后,具体的操作步骤是类似的。都是定位元素+操作元素
zx钟
2022/03/29
7040
12.UI自动化测试框架搭建-编写一个APP自动化
5 个 APP 自动化测试辅助定位工具,你用过几个?
UI 自动化测试时,先要定位到需要操作的元素,然后才能执行指令。 在网页端可以非常方便的通过 devtools 工具(也就是经常说的 F12) 获取和编写元素定位表达式。
海明威
2021/12/24
3.7K0
Appium移动端自动化测试--测试用例改造
可见下面的两个框架的脚本,略有不同,setup和setUp,teardown和tearDown。
软测小生
2020/02/13
1K0
Appium移动端自动化测试--测试用例改造
Android-聊聊自动化测试真经
有时候开发完会发现莫名奇妙的bug,bug 来了咱不怕,那就解决呗。但是这 bug 贼得很,几个小时甚至几天出来调戏你一次,撒手就跑,就问你服不服。所以为了让 App 中的 bug 尽可能的减少,好好研究了下 Android 平台的自动化测试,在此总结一下。
芝麻粒儿
2021/08/03
1.5K0
Android-聊聊自动化测试真经
自动化-Appium-​第一个Demo-Web(Python版)
本章Web所指的是移动端(模拟器/真机)里的浏览器(如:Chrome、Safari)。
wangmcn
2022/07/25
2.6K0
自动化-Appium-​第一个Demo-Web(Python版)
软件测试|App自动化之Appium工作原理
并且是一个灵活的跨平台的测试自动化工具,可以在iOS、Android 或 Windows、Mac 设备上进行移动应用的自动化测试运行,并且能够使用相同的 API 编写多个平台的测试脚本;
霍格沃兹测试开发Muller老师
2023/01/06
1.6K0
Appium环境部署及自动化实现
一、Appium介绍 appium主要是一个移动 App (手机应用)自动化工具框架。 特点: 1.开源 2.跨平台 3.多语言 二、Appium工作原理 三、环境部署 1.安装jdk 安装配置环境变量 2.安装appium-python-client类库 pip install appium-python-client 3.安装Appium Server 安装地址: https://github.com/appium/appium-desktop/releases/tag/v1.2
懿曲折扇情
2022/08/24
6910
Appium环境部署及自动化实现
浅谈自动化测试
软件测试作为软件生命周期中不可缺少的组成部分,对提高软件质量起着重要作用。随着软件测试的发展,自动化测试技术也得到了很大提高。
2020labs小助手
2020/02/17
1.2K0
自动化-Appium-第一个Demo-原生(Python版)
1、启动PyCharm,创建My_Appium_Demo项目。创建demo包,之后创建脚本文件。例如:模拟器示例为Android_App_Simulator,真机示例为Android_App_RealMachine
wangmcn
2022/07/25
2.3K0
自动化-Appium-第一个Demo-原生(Python版)
基于Appium的移动端UI自动化测试
移动端APP是一个复杂的系统,不同功能之间耦合性很强,很难仅通过单元测试保障整体功能。UI测试是移动应用开发中重要的一环,但是执行速度较慢,有很多重复工作量,为了减少这些工作负担,提高工作效率,需要引入可持续集成的自动化测试方案。
测试开发社区
2020/05/26
2.9K0
Appium+python自动化(二十六)- 烟花一瞬,昙花一现 -Toast提示(超详解)
  今天宏哥在这里首先给小伙伴们和童鞋们分享一个有关昙花的小典故:话说昙花原是一位花神,她每天都开花,四季都灿烂。她还爱上了每天给她浇水除草的年轻人。后来,此事给玉帝得知。于是,玉帝大发雷霆,要拆散鸳鸯。他将花神抓了起来,把她贬为每年只能开一瞬间的昙花,不让她再和情郎相见,还把那年轻人送去灵鹫山出家,赐名韦陀,让他忘记前尘,忘记花神。   多年过去了,韦陀果真忘了花神,潜心习佛,渐有所成。而花神却怎么也忘不了那个曾经照顾她的小伙子。她知道每年暮春时分,韦陀总要下山来为佛祖采集朝露煎茶。所以,昙花就选择在那个时候开放。她把集聚了整整一年的精气绽放在那一瞬间,希望韦陀能回头看她一眼,能记起她。可是,千百年间过去了,韦陀一年年的下山来采集朝露,昙花一年年的默默绽放,韦陀始终没有记起她。直到有一天,一名枯瘦的男子从昙花身边走过,看到花神忧郁孤苦之情,便停下脚步问花神:“你为什么哀伤?”。花神惊异,因为凡人是看不到花神的真身。如果是大罗金仙头上有金光、如果是妖魔头上有黑气、如果而凡人头上是无任何灵光。刚刚从身边走过的明明是一个凡人,如何看得见自己的真身。花神犹豫片刻,只是答到:“你帮不了我”。又默默等待韦陀,不再回答那个男子的话。40年后,那个枯瘦男子又从昙花身边走过,重复问了40年前的那句话:“你为什么哀伤?”花神再次犹豫片刻,只是答道“你也许帮不了我”。枯瘦的男子笑了笑离开。再40年后,一个枯瘦的老人再次出现在花神那里,原本枯瘦的老人看起来更是奄奄一息。当年的男子已经变成老人,但是他依旧问了和80年前一样的话:“你为什么哀伤?”。昙花答道:“谢谢你这个凡人,在你一生问过我3次,但是你毕竟是凡人,而且已经奄奄一息,还怎么帮我,我是因爱而被天罚的花神”。老人笑了笑,说“我是聿明氏,我只是来了断80年前没有结果的那段缘分。花神,我只送你一句‘缘起缘灭缘终尽、花开花落花归尘’”。说完老人闭目坐下。时间渐渐过去,夕阳的最后一缕光线开始从老人的头发向眼睛划去。老人笑道:“昙花一现为韦陀,这般情缘何有错,天罚地诛我来受,苍天无眼我来开”。说罢,老人一把抓住花神。此时的夕阳正好滑到了老人的眼睛,老人随即圆寂,抓着花神一同去往佛国去。花神在佛国见到了韦陀,韦陀也终于想起来前世因缘。佛祖知道后准韦陀下凡了断未了的因缘。   昙花一现,只为韦陀。所以,昙花又名韦陀花。也因为昙花是在夕阳后见到韦陀,所以昙花都是夜间开放。   好了,到此故事结束了,开始今天的主题 - 获取toast提示 在日常使用App过程中,经常会看到App界面有一些弹窗提示(如下图所示)这些提示元素出现后等待3秒左右就会自动消失,这个和我日常生活中看到的烟花和昙花是多么的相似,那么我们该如何获取这些元素文字内容呢?
北京-宏哥
2019/08/05
1.8K0
Appium+python自动化(二十六)- 烟花一瞬,昙花一现 -Toast提示(超详解)
Appium+python自动化(九)- 定位元素工具(义结金兰的两位异性兄弟)(超详解)
  环境搭建好了,其他方面的知识也准备的差不多了,那么我们就开始下一步元素定位,元素定位宏哥主要介绍如何使用uiautomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作. 此外在介绍另一款工具:Inspector。
北京-宏哥
2019/06/25
4.9K0
Appium+python自动化(九)- 定位元素工具(义结金兰的两位异性兄弟)(超详解)
技术分享 | app自动化测试(Android)-- 特殊控件 Toast 识别
Toast 是 Android 系统中的一种消息框类型,它属于一种轻量级的消息提示,常常以小弹框的形式出现,一般出现 1 到 2 秒会自动消失,可以出现在屏幕上中下任意位置。它不同于 Dialog,它没有焦点。Toast 的设计思想是尽可能的不引人注意,同时还向用户显示信息希望他们看到。
霍格沃兹测试开发学社
2022/06/24
4740
Appium移动端自动化测试--录制测试用例并运行
选择右下方的Send Keys, 跳出输入框,输入搜索内容并点击Send Keys按钮。
软测小生
2019/12/12
1.2K0
自动化测试定位方式那么多,应该选哪个?
定位策略是用于在自动化测试中定位移动应用界面元素的方法和策略。通过选择合适的定位策略,测试人员可以定位和操作应用程序的各种控件,如按钮、文本框、下拉列表等。常见的定位策略包括 ID 定位、XPath 定位、Class Name 定位、AccessibilityID 定位、Name 定位、XPath 模糊定位、Android UI Automator 定位以及 iOS Predicate 定位。通过灵活运用不同的定位策略,可以提高自动化测试的稳定性和可靠性。
霍格沃兹测试开发Muller老师
2024/04/28
1460
自动化测试 Appium之Python运行环境搭建 Part2
安装好后,配置ANDROID_HOME环境变量,设置为Android SDK安装路径(例中:D:\Program Files (x86)\Android\android-sdk)
授客
2019/09/10
7290
自动化测试 Appium之Python运行环境搭建 Part2
App自动化测试|dom结构和元素定位方式
控件的基础知识和selenium一样,appium为移动端抽象出了一个控件模型,称为dom结构;会把所有的控件都理解为xml文件,在xml文件里,每个控件都有自己的类型和属性;
霍格沃兹测试开发Muller老师
2023/01/04
1.3K0
APP自动化测试系列之3种元素定位工具
上一篇Appium自动化系列文章:APP自动化测试系列之appium-desktop配置及录制脚本,主要介绍appium-desktop如何配置SDK、JDK、Desired Capabilities及录制脚本。
可可的测试小栈
2020/12/14
2.1K0
推荐阅读
相关推荐
Python Appium 安卓自动化测试 基本使用 - Phone Spider
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验