本系列旨在帮助大家面试测开/自动化职位时拿到更高打分。
问题均由学员/粉丝提供的真实面试记录,帮大家解答,我义不容辞,但有些问题如果回答的不够仔细和正确,也希望大家能客观的指出改正,轻点黑我。
已征得记录者放到公众号的同意,问题和答案我会脱敏,不会泄露当事人信息。
开始正文...
ui自动化,如何定位一些动态的元素?例如,安卓app,每次启动都要做授权,各家厂商做的都不一样,有的是“允许“,有的是“确定”,有的是英文的描述。文字描述、样式不一样。位置一样。如何去写一套通用的脚本,让他在每个手机上都能跑?需要做适配性测试吗?
回答:
三种方案
1.每个元素都有多个属性,虽然在不同的渠道上个别属性会被更改,但总归不可能每个属性都变了,因为如果属性变化过大,那就不是一个元素了。所以可以使用类似wqrfnium这样的库来动态维护元素,对元素的全属性包括位置坐标进行比对,即可在元素若干属性变化后依然定位到。之后根据公司的业务风格动态调整各个属性所占比重,来不断提供识别准确度。
2.对元素定位使用page-object设计模式,分离出定位模块,每个元素从单个升级为字典,key为渠道包名,value为定位语句。在通用脚本中,获取元素需要先传入当前渠道包名即可拿到正确的元素定位语句。
3.使用Airtest图像相似度识别,可以对这种动态元素降低相似度认证,这种方案可以抵御一些元素内部属性变化过大但外观变化不大的情况。
(自动化平台)前后端都是你开发的吗?
这个问题,最好结合你的面试情况,如果面试情况较好,你可以回答:是的,我是一边自学一边研究写的,如有不好请见谅。
如果面试效果不好,就不要硬说自己写了整个平台,那样有点假,可以说,部分功能的前后端都是自己写的。给自己一点余地,比如面试官问某个功能实现,你回答不好,还可以说自己当时没有负责写这个功能。
(自动化平台)技术方案选型是谁来主导的?
是自己询问了一些业内的前辈,并且做了充足调研后选定的。选定之前也询问了领导的意见,并且通报了全组,进行决策。最终选定了目前比较主流和快捷的这套方案。
如果公司有技术委员会,可以说技术委员会敲定和决策的。
(自动化平台)有做后端的业务逻辑处理吗?例如驱动部分的脚本处理?
有的,线上监控方案,并发脚本方案,上下文接口数据流转等。
(自动化平台)平台还有在迭代吗?
正常迭代中,平台可升级空间较大,灵活度高。每次迭代除了一开始的计划外,还会从实际使用埋点数据中分析,和反馈中汲取优化点。进行不断升级。后续会和多个其他测试平台联动,形成闭环生态。
本次就暂时写这么多。欢迎持续关注下一章哦~