前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯TMQ在线沙龙回顾|UI自动化中阶思考与实践

腾讯TMQ在线沙龙回顾|UI自动化中阶思考与实践

作者头像
腾讯移动品质中心TMQ
发布2018-02-08 14:41:25
1.4K0
发布2018-02-08 14:41:25
举报

UI自动化中阶思考与实践

活动时间:2017年4月17日 QQ群视频交流

活动介绍:TMQ在线沙龙第十九期分享活动

本次分享的主题是:UI自动化中阶思考与实践

共有122位测试小伙伴报名参加活动,在线观看视频人数 66人!

想知道活动分享了些啥吗,

请往下看吧!

活动嘉宾

嘉宾简介

陈帅,腾讯专项技术测试工程师,目前主要负责腾讯WIFI管家业务及专项测试,多年测试经验,在UI自动化开发方面,在appium、uiautomator、espresso等工具上都有实战经验。

分享主题

1.UI自动化会存在哪些问题 2.从设计、环境、细节三个角度分析和解决问题 3.总结UI自动化的使用姿势

问答环节

1、可以多个UI自动化框架组合使用,能举一个实际例子吗,最好是结合实际问题?

答:Espresso 和 uiautomator是可以组合使用。

2、资源混淆是不是需要开发提供资源对应表?

答:是的。

3、关于多个界面会有弹框,但不确定那些页面会弹,什么时候会弹,这个能具体讲讲怎么解决了?还有关于引导,这个怎么处理?

答:

弹框:建议详细了解下uiautomator中UiWatcher的工作原理,在启动前将uiwatcher注册好。无需关注在哪些页面弹、什么时候弹。

引导:直接贴代码给你参考一下。

4、我们目前生产版本比较多,但是我们是混合模式的APP,更新H5 比较多,这种情况,我们怎么进行ui自动化,在哪个阶段做比较好?

答:Espresso,appium,macaca,robotium都支持混合模式,具体用哪个,建议根据自己的结合项目的调研报告来选择。H5页面更新较多的话,这部分建议不考虑自动化,UI自动化主要针对功能稳定的用例来做。

5、请问下对应用悬浮窗和toast有什么好的抓取和验证方式吗?

答:Espresso可以抓取到toast。

6、请问下如何更精确的抓取是应用的问题,快速排除是脚本的问题?

答:日志,截图,录屏,开启开发者选项中的显示点按操作反馈和指针位置等。

7、请问下是否有准确的在问题发生时进行截图方法,往往截图时已经错

了问题界面?

答:参考问题6,谢谢。

8、除了mainlog日志和截图,是否还有其它的日志或者内容可以辅助问题分析?

答:录屏,stf minicap。

9、有些手机在自动安装时弹出安装的弹窗如何更好的解决?

答:在拉起测试任务的进程前,先使用uiautomator拉起一个watcher进程去监控安装弹框,这个进程监控界面上弹出的安装、信任这些东西,统一都点掉。

10、对需要多机的测试,比如来一个电话或者来一条短信是否有好的解决方法?

答:抱歉,‍我这边也没有处理过这种场景,暂无法给予答复。‍

11、混合模式的app选择哪个自动化测试工具?

答:Espresso,appium,macaca,robotium都支持混合模式,具体用哪个,建议根据自己的结合项目的调研报告来选择。

12、我们项目的 发现webview中webElement的click不生效。只好获取绝对坐标,然后点击屏幕的绝对左边。使用的appium。有其他解决建议吗?

答:有以下两种值得一试的方案。‍

1、找到相邻控件坐标,计算当前控件的绝对坐标。如下图:

uiautomatorviewer中点击右上角警告小三角,会得到有一些元素(黄色控件),是可能无法找到的。而使用相对坐标就是说,我们可以获取它相邻控件的坐标,然后减去或加上一个比较小的px值,再点击计算后的坐标即可。

2、使用屏幕尺寸计算相对位置。在测试开始,将屏幕尺寸存下来,使用百分比的方式计算得到需要点击的位置。如下:

点击【50%宽度,80%高度】的位置。

13、QQDriver 这个有相关资料吗,关于如何搭建的?

答:这是内部工具,暂未开源。所以,抱歉,不做解释。

14、刚刚老师说到开发改了一个id,只需要改业务层没错,但是如果开发把步骤改了,两个步骤之间多加了一个步骤,那用例层还是需要改的吧?

答:对,必须的。

15、做自动化的时候发现用 uiautomatorviewer.bat 获取id时发现会有获取不到id的情况,请问这是怎么回事?

答:对应的控件,开发如果没有写id的话就没有id,Dump下来UI之后,建议点击界面上的黄色小三角,尽量不要使用那些被置为警告的UI控件,在自动化过程中,会找不到这些控件。

16、比如测试爱奇艺,有很多页面,是进入到每个页面一个封装还是通过查表来进入(一个页面一个封装代码量大)。如果通过查表表中应该有哪些信息,我之前的做法是通过activity+页面标题,但发现很多页面标题以及activity都一样的?

答:我理解你的问题是不知道自动化过程是否已经进入到某个页面,我的做法是选取其中几个元素,这个页面封装一个isLoaded方法,方法中判断这几个元素是否存在,如果返回true就代表这个页面已经打开了。每个page都有这个方法。

17、目前项目用的是appium,主要是采集性能数据 也就是刚提到的UI驱动的性能测试 在两个版本对比测试中,不可避免的要长时间顺序执行多个用例 模拟玩家一个整体操作步骤,怎样能避免由于appium的不稳定带来的问题呢,经常会执行一半appium报错,然后测试中断?

答:不建议使用appium做性能相关的测试,框架本身的问题无法避免,只能换一种框架。性能测试的话,我建议用uiautomator和espresso来驱动会更好。

18、对于类似wifi开关的测试,验证点怎么把握 怎么确定是否真正打开或者关闭 还有对于想从状态栏获取验证信息 有没有好的建议?

答:uiautomatorviewer似乎定位不到状态栏的图标。调用android提供的接口来验证,建议看下wifimanager。建议不要把自己的思维在UI校验上限制死,校验手段有很多,比如读android系统文件,读系统的接口,读数据库等等。往往UI自动化,结合其他的手段一起做,效果会更好。

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

本文分享自 腾讯移动品质中心TMQ 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档