之前已经完成了登录、新增和修改的操作流程,这一节主要说明删除操作流程以及自动化的过程中出现的问题,算是对这个项目自动化的一个总结。
删除操作流程对于系统账号管理中删除功能,删除的测试点主要如图所示
而账号管理的页面显示如图
在管理页面中可以看出,删除操作物理删除且没有批量操作功能。但是这里有一点需要主要,每个新注册的账号会默认监管所属机构下所有的用户,所以这里为了用例的健壮性,我们删除正常的用例的具体操作步骤如下
新增一个账号信息
取消新增账号的监管用户
定位到该新增账号页面中的删除按钮,点击删除操作
根据删除提示确认删除操作
断言页面中账号不存在
说明
这里必须先把账号的监管用户取消,否则无法进行删除操作
根据步骤信息,之前已经封装好了新增账号的关键字,这里主要是取消监管用户操作步骤和关键字的封装。
取消监管用户操作步骤
取得新增账号id并打开取消监管用户的url地址
在打开的取消监管用户中取消所有的监管用户
鼠标滚动到浏览器底端,点击保存完成操作
操作步骤已然了解,接下来就是步骤的关键字封装
第一步:得到id,获取url代码如下
取消监管用户关键字封装如图所示
第二步:打开分配监管用户,取消全部监管用户
全部取消按钮的定位代码如下
第三步:鼠标滚动到底端,点击保存操作
封装的关键字代码如下
这样关键字封装完成之后,我们只需要根据操作步骤,编写操作用例即可完成删除的正常用例,具体代码如下所示
账号管理删除确认 [Documentation] 用例目的:删除一个没有监管用户的账号信息 ... 操作步骤 ... 1.新增一个账号信息 ... 2.取消新建账号的所有监管用户 ... 3.删除新建的账号 ... 4.确认提示中选择“确认删除” ... 断言 ... 1.当前页面是否是 ... 2.当前页面中的是否包含新建的账号信息 ... 存在的问题: ... Location Should Be ${GuardianQuery} ... 断言当前页面无法通过,需要查看问题 [Tags] doubtfula [Setup] login 账号新增封装 ${AccountTestName} 账号名称检查 #首先取消所有监管用户 ${AccountAllotModify} 封装账号新增id分配监管用户的url 打开页面 ${AccountAllotModify} #跳转到新打开的窗口,否则会停留在新增之后的窗口,元素无法定位 #说明跳转这里使用的是第二次,无法成功,具体原因待查 goto ${AccountAllotModify} Take Screenshot guardian 点击账号监管用户的全部取消 sleep 5 Take Screenshot guardian Execute Javascript window.scrollTo(0, document.body.scrollHeight) #滚动到底部 点击账号监管用户的保存按钮 sleep 5 Take Screenshot guardian 确认保存 log hello1 #首先取消所有监管用户 打开页面 ${GuardianQuery} #页面跳转 goto ${GuardianQuery} Take Screenshot guardian sleep 5 log hello2 点击账号删除按钮 sleep 3 log hello3 确认保存 Take Screenshot guardian #断言当前页面的url log hello4 Comment Location Should Be ${GuardianQuery} page should not contain ${AccountTestName} [Teardown] close删除用例rf格式显示如图
到这里,删除操作正常用例已经完成,接下来就是运行测试~(≧▽≦)/~。
而到此,针对测试中常用的增删改查已经基本上完成了,这样参考账号管理的用例编写方法,其他模块的用例完成rf的用例编写,自动化已经部署完成,这样下次我们进行回归测试的之后,直接使用jenkins只要鼠标轻轻一点就可以运行具体模块或所有模块的测试用例,下次再也不会为项目着急上线所有模块没有回归测试而感到惶惶了,这样就可以轻松滴等着开发改着bug坐等项目上线了呢,瞬间觉得很happy(^o^)/~......
项目自动化到这里就基本完成了,这里主要是用例rf中的分层思想,这样就算开发修改了代码元素的位置,我们也只需要修改元素的具体定位方法就好了。rf自动化从刚刚接触到现在把一个项目所有操作流程的用例都建立起来,中间遇到了不少问题,非常感谢强大的互联网,才能把一个项目完成的自动化流程建立起来。这里总结一下自动化中遇到的坑吧,也算给前一个阶段的总结。
问题1: