一、前言
最近又听到很多人讨论自动化,正好app发版完成后,继续捡起了appium,写脚本之余想到了以前写过的selenium的关键字驱动框架,那么appium是不是一样可以应用呢,可不可以在以前的关键字驱动上更加灵活呢?带着疑问查了资料后,就有了以下的简单脚本,好记性不如烂笔头,还是一步一步记录下来吧。
二、分解测试步骤
以登录为例,我们可以打开一个全新的app,进行一个登录成功的操作,然后一步一步记下来:
1、启动app,自动跳转进入首页
2、在首页点击”我的“tab进入登录页
3、清空手机号码输入框
4、清空验证码输入框
5、在手机号码输入框中输入手机号码
6、点击获取验证码按钮发送验证码
7、在验证码输入框中输入收到的验证码
8、隐藏弹出的键盘
9、点击登录按钮
10、验证是否登录成功
三、根据测试步骤设计关键字驱动的excel表格
根据第二点,知道了登录用例的测试步骤之后,我们就要分析,要让用例动起来,需要准备什么,这个时候,我们就需要了解关键字驱动框架。
关于关键字驱动框架,网上是这样解释的,传送门:https://blog.csdn.net/zhusongziye/article/details/79617079
我摘抄一下主要的:
什么是关键字驱动框架?
关键字驱动框架是一种功能自动化测试框架,它也被称为表格驱动测试或者基于动作字的测试。关键字驱动的框架的基本工作是将测试用例分成四个不同的部分。首先是测试步骤(Test Step),二是测试步骤中的对象(Test Object),三是测试对象执行的动作(Action),四是测试对象需要的数据(Test Data)。
以上四个部分,都可以使用Excel表格进行维护:
Test Step:是一个小的测试步骤的描述或者测试对象的一个操作说明。
Test Object:是指页面对象或元素,就像用户名、密码,
Action:指页面操作的动作,打开浏览器,点击一个按钮,文本框输入一串文本等。
Test Data:是任何对象操作时所需要的值,就像用户名、密码进行输入时的输入内容。
其实我们做关键字的驱动的思想,就是把编码从测试用例和测试步骤中分离出来,这样对于不会编码的人员更容易理解自动化,从而让手工测试人员也可以编写自动脚本。(这并不意味这不需要自动化测试人员,对于自动化框架的构建,自动化代码的更新,结构调整等都需要一个技术性的人员)对于测试小的项目的团队,可以有两个手工测试人员和一个自动化测试人员。
通过以上我们知道,我们需要至少准备这四种:
1、测试步骤,这里我们已经在第二点分解了;
2、测试对象,根据上面的测试步骤,我们可以理解为:”我的“tab、手机号码输入框等等
3、执行的动作,一样根据测试步骤来,我们可以理解为:‘点击’、‘清空’、‘输入’等等
4、测试对象需要的数据,根据测试步骤,我们可以理解为:手机号码、验证码等等
除了以上四种必备的,我们为了让程序更加符合我们的期望,更加自动,就还需要根据具体情况来添加其他维护对象,如下:
5、定位方式,有测试对象后我们需要知道怎么定位到这个对象,用什么方法才能更加准确的定位
6、预期结果,用来验证结果是否符合预期
综上,我们就可以形成我们的excel表格啦,如下截图: