51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 12971|回复: 24
打印 上一主题 下一主题

[最新动态] TW征文|TestWriter——自动化测试达人进阶之Android客户端

[复制链接]
  • TA的每日心情
    开心
    2018-10-9 10:52
  • 签到天数: 318 天

    连续签到: 1 天

    [LV.8]测试军长

    跳转到指定楼层
    1#
    发表于 2017-4-27 10:23:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 小小小提姆 于 2017-4-27 11:18 编辑

    大家好!我叫小小小提姆,是一名在IT行业的洪流中力争上游的软件测试媛,个人软件测试擅长方向:
    1.功能测试(熟悉Fiddler)
    2. jmeter&loadrunner压力测试
    目前的研究方向:
    1. Ruby
    2. QTP
    欢迎志同道合的同学们一起交流学习,我的51testing论坛账号:小小小提姆
    【摘要】
    继上次分享了TestWriter(Web平台)的自动化使用,文章链接:(http://bbs.51testing.com/thread-1110501-1-1.html),相信很多和我一样的小菜鸟们,应该在这个过程中,找到了那么一丢丢的成就感。但是,这个还远远不够,因为学习不仅要宽度,更需要深度。
    在我们测试的过程中,除了web平台,当然也会涉及Android&iOS客户端的自动化测试。所以,本文主要给大家分享Android的录制使用方法,除了最基本的操作步骤,还包括了常用的操作类型Type(文本框)、Swipe(滑动)、UploadDialogSetFile(上传文件)的使用,同时也分享了自己对操作类型执行过程的理解,便于小达人们更容易理解。
    希望通过本次的本次,可以让更多的初级小达人们向中级达人更迈进一步。
    本文干货多多,千万不要错过哦~(当然,如果有不理解的地方,我们也可以一起学习交流)
    【操作使用过程】
    进阶1:达人1.0——达人1.1
    进阶内容:新增被测应用
    进阶秘籍:
    1.前提
    将被测应用的apk文件放在桌面(或者自己指定路径)
    注意:这里的被测应用的版本和手机上安装的APP应用版本要保持一致哦!
    2.新增被测应用
    只需要在程序路径中选择被测应用即可(名称、应用名称、初始窗口名称都会自动获取)

    3.基本操作步骤
    业务模块---被测应用管理---新增---添加程序路径---保存
    4.check
    保存成功后会在被测应用管理列表看到之前维护的信息

    进阶2:达人1.1——达人1.2
    进阶内容:新增设备管理
    进阶秘籍:
    1.前提
    1.1将安卓设备连接电脑,确认打开开发者选项和USB调试
    1.2安装手机驱动
    1.3获取Android 设备的设备标识
    方法一:
    首先将手机以开发者模式连接至 PC(电脑安装了该型手机的驱动),然后打开
    Windows 命令提示符,执行命令“adb devices”, 输出结果第二行第一列的字符串几位
    设备标识(如图)

    方法二:
    打开手机设置 > 关于手机 > 状态信息 > 序列号,序列号内容即为设备标识,
    此方法路径只针对小米手机系统,其他品牌型号的手机请参考。(如图)

    2.添加设备
    填写设备名称、操作系统版本、设备标识

    注意事项:
    有些同学可能不知道操作系统版本怎么选,通过下面的“Android系统版本与API等级对应关系表” 就一目了然了。平台的版本通过手机设置---关于手机---Android版本可以获取。
    (Android官网目前被屏蔽了,想要自己登录的同学可以点击链接,获取解决方法https://zhidao.baidu.com/question/1574372881007933460.html

    3.基本操作步骤:
    业务模块---设备管理---新增---添加---保存
    4.check
    保存成功后会在设备管理列表看到之前维护的设备信息

    进阶3:达人1.2——达人1.3
    进阶内容:新增Agent
    进阶秘籍:
    如果这个操作遗漏掉,会出现测试计划调度成功,但是状态一直是待分配的情况。


    进阶4:达人1.3——达人1.4
    进阶内容:新增测试对象(录制)
    进阶秘籍:
    1.前提
    被测应用和设备管理已存在
    注意:录制的时候,手机是打开的状态
    2.新增测试对象
    点击录制后,界面会弹出一个录制工具的对话框,点击测试设备的下拉框,选择之前已经维护好的设备,同样的点击被测应用,选择之前维护好的APP应用,点击启动。
    启动成功后,系统提示“正在启动引擎,请稍后”,出现下图就可以开始录制了。

    3.基本操作步骤:
    业务模块---测试对象管理---录制---录制

    4.录制秘籍
    在录制的时候,很多同学不知道用什么操作类型,每一个操作的实际执行结果是什么样的,可能因此无法继续进行下去。当然可以在录制好之后再进行调试,但是在后期会发现这样有稍许麻烦。所以这里建议同学们可以在录制界面,设置好操作类型和一些输入值之后,直接执行,这样可以清楚的看到手机上的执行过程,其实就是把调试放在前面,这样就不用后期一个一个调试了。


    进阶5:达人1.4——达人1.5
    进阶内容:新增测试步骤
    进阶秘籍:
    1.前提
    已录制好测试对象
    2.新增测试步骤
    3.基本操作步骤:
    业务模块---测试步骤管理---新增---添加---确定
    4.注意事项
    4.1APP应用的第一个测试步骤要进行应用的启动,操作选择“Launch”即可

    4.2根据测试对象进行每一个操作步骤的维护


    4.3如果测试对象中有对页面进行校验的,可以选择“检验制定元素中是否含有制定文本”


    进阶6:达人1.5——达人1.6
    进阶内容:新增测试用例
    进阶秘籍:
    1.前提
    已新增好测试步骤
    2.新增测试用例
    点击全部移至左边的按钮,点击确认按钮即可

    3. 基本操作步骤
    业务模块---测试用例管理---新增---确定
    4.check
    保存成功后会在测试用例管理列表看到测试用例的信息


    进阶7:达人1.6——达人1.7
    进阶内容:新增执行计划
    进阶秘籍:
    1.前提
    2.新增执行计划
    2.1填写计划基本信息,将待选用例模板移至到模板信息,作为用例模板

    2.2填写测试目的设置
    点击测试目的所需设备空白处,选择所需设备,填写名称后点击确定按钮即可

    3.基本操作步骤
    业务模块---执行计划管理---新增---执行
    点击“执行”按钮,确定执行,系统提示计划调度成功
    4.check
    保存成功后会在执行计划管理列表看到执行计划的信息



    注意事项:
    1. 执行了测试计划,执行结果就一直是待分配

    解决方法:
    该问题是一个已知bug,到群文件中下载下图的文件,再将该文件替换掉。替换完重启一下服务器的TW服务,再重启本机的agent服务

    如何重启agent服务?
    快捷键调出任务管理器---打开服务---找到Agent代理服务---重启动此服务(如图)



    在Android录制的过程中会经常用到一些操作类型,这里主要分享一下几种测试类型:
    一.文本框(例:登录名/password/搜索)
    操作类型:Type、Typewithoutclear
    Type的执行过程:
    将当前文本框内容通过选中剪切,将输入值再进行粘贴(即每次执行输入值)
    Typewithoutclear的执行过程:
    1、如果文本框初始状态为空,或者在为空的情况下进行输入值(不为空)的第一次执行,执行结果和Type是一致的;
    2、在进行输入值(不为空)第二次或者更多次执行时会发现,Typewithoutclear操作是选中当前文本框内容,进行当前文本框内容的剪切和粘贴上一次的文本内容。(即每次反复执行同一个输入值)
    这么说可能很多同学还是不理解,为了更直观的理解,大家参考下面的栗子~
    举个栗子:
    第一步:初始状态为空的时候,选择Typewithoutclear操作类型,编辑输入值,点击执行

    第二步:查看执行结果

    第三步:再次编辑输入值,点击执行,并查看执行结果

    二.数据来源类型
    数据来源类型主要分为5种:数据常量、全局变量、执行变量、参数化变量、随机数
    在测试步骤中,很多同学不太清楚这五种数据来源类型的区别,下面是找来的资料,大家看完之后应该就会有一个清晰的认识了。
    1.数据常量
    就是测试步骤在执行时,只使用你设定的常量作为数据 ;
    2. 参数化变量
    是用来实现“用不同的数据反复执行同一个步骤”的;
    3.全局变量
    在步骤管理模块有单独的功能按钮来管理,可以在软件中找到;全局变量设置之后,项目中所有的测试步骤都可以引用,和编程语言中的全局变量很相似。
    4.执行变量
    是在执行过程中产生的变量,比如通过一些操作获取到的元素的属性值,就可以保存到执行变量中供后面的步骤使用。
    5. 随机数
    也属于全局变量,使用方式和全局变量相同。

    在测试过程中,用的最多的应该就是数据常量和参数化变量,数据常量比较简单,所以这里重点分享参数化变量。
    整体的步骤就如上面讲的一样进行操作,唯一有区别的,就是在测试步骤和测试计划的部分
    1.测试步骤中选择type类型,数据源选择参数化变量,变量名和调试默认值自定义。
    2.添加执行计划:
    数据验证消息默认是NOK,点击“数据维护”按钮

    选中本次的执行计划,右边就会出现变量的名称  

    这时只要录入需要测试的登录名和密码即可

    保存之后,我们会发现数据验证消息变成了OK,下面执行测试计划即可

    因为我们设置了5组变量,所以在测试任务管理里面会出现5组case

    但是在执行的时候会发现另外一个问题:在进行第二组测试数据时提示找不到元素,无法继续执行。

    解决方法:
    在测试步骤里增加退出注销账户的步骤即可;经过多次调试,最终测试步骤调整如下:

    执行的时候是一组一组参数执行的,所以会发现从第一组到第二组执行,中间差不多隔了几秒钟,因此在执行的过程不建议中断

    三.界面滑动(例如:启动页滑动/进度条按住滑动/左右手势滑动/上下滑动)

    如果界面要录制滑动操作,需要勾选“滑动录制动作”,用鼠标在当前界面进行滑动操作,页面会获取当前的操作类型和滑动参数(也可以自己自定义)
    注意:
    默认的操作类型是如上图所示的“Swipe”操作,但是这里建议使用具体的滑动操作类型。例如:向上滑(Swipe Up),向下滑(Swipe Down),向左滑(Swipe Left),向右滑(Swipe Right)因为在执行的过程中发现,如果使用swipe,可能没有执行滑动的操作,但是执行结果显示是成功的。

    四.上传文件
    APP的上传和web的上传还是有区别的,相对而言,APP的更简单一些,只需要一连串的click的操作就可以解决了。这里的话主要分享一下web的文件(图片、Excle、Word等)上传。
    举个栗子:(某云盘上传图片)

    首先先了解一下UploadDialogSetFile操作的执行过程:
    1. 根据文件路径,找到需要上传的文件
    2.上传文件
    基本的操作方法:
    先录制定位上传文件的控件,再增加UploadDialogSetFile操作即可

    优化建议:
    1.测试步骤中的操作支持英文模糊匹配
    因为常用的的操作类型都能记住首字母,这样可以提高工作效率,不用一直下拉寻找

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x

    评分

    参与人数 1综合技术指数 +10 收起 理由
    TestWriter + 10 很给力!

    查看全部评分

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏10
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-10-9 10:52
  • 签到天数: 318 天

    连续签到: 1 天

    [LV.8]测试军长

    3#
     楼主| 发表于 2017-4-27 10:55:48 | 只看该作者

    每次我发帖,你好像都是第一个来顶贴的,谢谢你
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2024-7-8 09:00
  • 签到天数: 943 天

    连续签到: 1 天

    [LV.10]测试总司令

    4#
    发表于 2017-4-27 11:06:07 | 只看该作者
    小小小提姆 发表于 2017-4-27 10:55
    每次我发帖,你好像都是第一个来顶贴的,谢谢你

    嘻嘻每次你发帖都恰巧我在
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-10-9 10:52
  • 签到天数: 318 天

    连续签到: 1 天

    [LV.8]测试军长

    5#
     楼主| 发表于 2017-4-27 11:13:24 | 只看该作者
    梦想家 发表于 2017-4-27 11:06
    嘻嘻每次你发帖都恰巧我在

    谢谢支持
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-9-22 13:43
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]测试连长

    6#
    发表于 2017-4-27 12:52:33 | 只看该作者
    给楼主大大的赞!!!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-10-9 10:52
  • 签到天数: 318 天

    连续签到: 1 天

    [LV.8]测试军长

    7#
     楼主| 发表于 2017-4-27 14:15:27 | 只看该作者
    TestWriter 发表于 2017-4-27 12:52
    给楼主大大的赞!!!

    谢谢小编支持
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-28 12:10
  • 签到天数: 53 天

    连续签到: 1 天

    [LV.5]测试团长

    8#
    发表于 2017-4-27 15:17:37 | 只看该作者
    写的不错,谢谢大神
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-10-9 10:52
  • 签到天数: 318 天

    连续签到: 1 天

    [LV.8]测试军长

    9#
     楼主| 发表于 2017-4-27 15:19:56 | 只看该作者
    wuxiaochun1987 发表于 2017-4-27 15:17
    写的不错,谢谢大神

    感谢支持
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-10-9 10:52
  • 签到天数: 318 天

    连续签到: 1 天

    [LV.8]测试军长

    11#
     楼主| 发表于 2017-5-3 09:32:57 | 只看该作者
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2017-6-5 09:13
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    12#
    发表于 2017-5-3 11:26:14 | 只看该作者
    什么时候写一下操作的用法

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-15 11:46
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    13#
    发表于 2017-5-5 16:11:25 | 只看该作者
    请问一下aapt是什么东西?你说的装手机驱动是装什么驱动
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-10-9 10:52
  • 签到天数: 318 天

    连续签到: 1 天

    [LV.8]测试军长

    14#
     楼主| 发表于 2017-5-6 09:35:16 | 只看该作者
    杰jie 发表于 2017-5-5 16:11
    请问一下aapt是什么东西?你说的装手机驱动是装什么驱动

    就是手机usb插在电脑上的时候会自动安装手机驱动
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-10-9 10:52
  • 签到天数: 318 天

    连续签到: 1 天

    [LV.8]测试军长

    15#
     楼主| 发表于 2017-5-6 09:38:49 | 只看该作者
    hejian5621 发表于 2017-5-3 11:26
    什么时候写一下操作的用法

    后面有时间,尽量每一种操作方式写一个栗子吧,但是发帖的时间不确定,也有可能分几次
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2017-5-9 10:32:45 | 只看该作者
    TW这个工具还没用过,准备研究一下。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2017-5-23 12:09:18 | 只看该作者
    小小小提姆 发表于 2017-5-6 09:35
    就是手机usb插在电脑上的时候会自动安装手机驱动

    aapt是Android sdk里的一个工具组件,主要用它来解析apk的程序应用名称、Activity等信息。该组件主要在被测应用管理里面会常用到。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-10-9 10:52
  • 签到天数: 318 天

    连续签到: 1 天

    [LV.8]测试军长

    18#
     楼主| 发表于 2017-5-23 13:47:44 | 只看该作者
    JasonJue 发表于 2017-5-23 12:09
    aapt是Android sdk里的一个工具组件,主要用它来解析apk的程序应用名称、Activity等信息。该组件主要在被 ...

    感谢大神纠正
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-10-9 10:52
  • 签到天数: 318 天

    连续签到: 1 天

    [LV.8]测试军长

    19#
     楼主| 发表于 2017-7-19 10:30:29 | 只看该作者
    ronnie.sun 发表于 2017-5-9 10:32
    TW这个工具还没用过,准备研究一下。

    可以研究一下的,还可以互相学习交流
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-3-9 14:45
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    20#
    发表于 2018-2-22 15:08:44 | 只看该作者
    学习了!谢谢大神分享
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 05:44 , Processed in 0.081068 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表