赞
踩
#1. 实现的效果
开发者通过上传移动端软件(apk,pkg等)到云端,点击云端自动化测试来对上传的软件进行自动化测试,分析和bug定位,最终输出bug检测结果.
#2.实现的步骤
这里先列出大致的一个实现步骤,然后对每一步如何做,在列出具体的思路
#3.具体每一步实现思路详解如下
###3.1 模拟用户登录问题
首先需要对登录界面进行识别,因为输入用户名和密码,登录界面的特征比较明显,当界面中出现文本框、密码框和登录按钮时,即可判断为登录界面。
具体步骤如下:
##3.2 选取特征值
登录页面的特征值:”用户名,”用户图标”,”密码”,”图标”,”登录”,”注册”,”忘记密码”,”找回密码”,第三方登录的图标.
##3.3 确定用户名输入框和密码输入框,登录按钮位置
第一步:对登录页面进行NLP文本分类,找出登录页面所具有的特征值,一一标识,确定文本输入框和登录按键的位置
第二步:利用深度学习中的图像识别技术对页面图标进行识别,确定相应的位置
第三步:综合前两部判别 ,最终确定用户名输入框,密码输入框,登录按钮在页面的一个位置
##3.4 模拟登录
前提是后台数据库里面已经设置好了相应的用户名和密码
通过程序在用户名输入框,密码输入框依次输入用户名,密码,模拟进行登录.
##2 页面元素分类(层次结构)(UI深度遍历技术)
这里要完成的操作:
###2.2.1 采用深度遍历技术对所有页面进行分类,并对分类好的元素进行一一唯一标识:
主要分为两大类:
1)可以点击的部分
2)不可以点击的部分
###2.2.2 深度遍历技术
这里可以借助Smart Money方法来做,可以把每一个界面可以用最直观的方法变成一个节点树,这样可以保证每一个节点都有一个特定的对象,然后在对各元素进行标识,即为每个元素设定一个ID,保证不同的元素有不同的ID。具体方法怎么设置,需要根据场景效果自行规定,这里采用了别人的一个方法:
元素ID = 名称 + 类名 + 父元素ID
这种方式是可行的,也是可以实现的.
3 对标识的页面元素进行跳转判断
第2步,已经通过元素是否可以点击进行了有效分类,并且做了标识,这一步则需要对分类好的元素分别再进行有无图片进行分类,具体步骤如下:
###3.1 可以点击跳转的部分
对可以可以点击的所有元素,通过深度学习(Caffe)技术,对其有无图片进行分类,并做相应标识:
主要分为以下几类:
###3.1.1 图片显示完整
输出正常
###3.1.2 图片显示不全
输出bug类型一
###3.1.3 图片不能显示
输出bug类型二
###3.1.4 没有图片的文本
这里需要对文本里面内容进行判断,采用nlp文本处理,来对内容是否显示完整进行有效判定:
1)内容显示完整 则表示正常
2)内容显示不完整 则输出bug类型三
#3.2不可以点击的部分
同样对可以可以点击的所有元素,通过深度学习(Caffe)技术,对其有无图片进行分类,并做相应标识:
主要分为以下几类:
##3.2.1 图片显示完整
输出正常
3.2.2 图片显示不全
输出bug类型一
##3.2.3 图片不能显示
输出bug类型二
##3.2.4 没有图片的文本
这里需要对文本里面内容进行判断,采用nlp文本处理,来对内容是否显示完整进行有效判定:
1)内容显示完整 则表示正常
2)内容显示不完整 则输出bug类型三
#4. 整个过程的几个重要点
##4.1)深度遍历结束判定
当遍历到某一个元素,点击超过一定次数时(也就是说反复遍历某个元素时),仍然无法访问到元素,则可判定遍历过程结束
##4.2)界面跳转元素的判断
方法:
1)可以通过直接的元素名称来判断:如”返回”,”关闭”,”back”,等
2)通过深度遍历(盲点)方式,找出可以跳转的元素,并做唯一标示
##4.3)登录操作
##4.4)界面元素的标识
##4.5)bug输出判定
#5.bug分类
- 硬件bug 造成软件崩溃
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。