ui自动化测试设计思想
UI自动化测试:
自动化测试的目的是提高效率,所以在开始自动化测试之前一定要问自己以下三个问题,尤其第一个是很容易忽视的。
一:是否需要自动化测试
二:需要采用什么自动化测试方法
三:如何开展自动化测试
一:是否需要自动化测试
对于是否需要的问题,时候什么需要,当项目属于一直做的项目,一直迭代的项目,不是一锤子买卖,并且对质量要求较高的,还有就是项目周期较长,有时间让你去搞自动化的时候,就是有必要做自动化。另外做自动化之前,如果不确定,最好开会评估,然后定方案。
二:需要采用什么自动化测试方法
采用什么自动化测试方法主要分为两个方向:一是UI自动化,二是API自动化,那么该怎么应用呢?
当改变主要发生在逻辑层,ui 变化较少时,ui自动化维护成本较低。这时候就选择ui自动化;当 ui 变化较大,这时候ui脚本维护成本就大,就不能采用UI自动化测试了,采用API自动化较为划算。
api自动化也有局限性,它对研发代码的依赖很强,通常是研发代码提交后相应的测试代码没写完,等下一次编译时又不通过。
三:如何开展自动化测试
如何开展自动化测试,选择什么工具进行自动化测试,用appium,robotium,UIAutomator等方法。
appium有如下优点:
1。支持跨平台,同时支持android,ios,hybrid
⒉。语法简单,学习成本低,大部分测试人员经过短时间学习就可以掌握和使用。
appium缺点如下:
1. 需要查桩,必须连接电脑才能使用,如果被测试项目需要脱机测试就不能用appium了,比如测试手机耗电量性能测试,如果插着数据线连接电脑,会一直充电,就不能用appium,这时候可以选择UIAutomator。
2. appium脚本运行时间较长,如果需要快速测试,不如让人工手工测试效率高
3. 另外appium 相对于 UIAutomator 更重一点,如果想更轻量化一点可以使用 UIAutomator
在做UI自动化测试时,我们需要关注三个方面
1.可重用性
脚本的维护都需要时间成本,所以在做Ul自动化的时候可维护性就尤为重要了,为了提高脚本的可维护性,这里主要采用两种方式,一是封装公共方法;二是套用公共模板。
公共方法是指所有用例脚本都会执行和用到的方法,比较常用的一些操作(单击,双击,输入,清除,删除,左滑,右滑,上滑,下滑,放大,缩小,下拉,等等)
公共模板比如下面,这样一套操作流程
try:
编写脚本代码xxxxx
编写脚本代码xxxxx
export:
捕获异常:
打印日志:
2.稳定性
1)一个脚本中包含多个用例,如果一个用例没有编写异常捕获的代码,当一个异常发生时,整个脚本就停止运行,其他的用例就无法继续执行。解决方法是所有的用例都独立运行,都编写异常捕获,互不影响。
2)个别控件元素如id或名字变化了导致控件获取不到,脚本停止运行,解决方案是把通用的控件放到一个文件中单独保存,当控件id发生变化时,不用每个脚本都改,只需要改控件文件即可。
3.通用性
通用性是否强,比如A项目可使用该套框架,移植到B项目上,该框架是否适用。
正常情况框架都是通用的,不会因为项目不同而把框架整体翻新一遍,只需要把部分参数修改即可。