第八节001 robotframework实战

点击查看更多知识集合

主题:记录一个迭代中,UI自动化的应用过程,让我们从简单,重复的工作中解放出来吧

一 迭代时间线(以测试视角观看)

二、需求概述

课程考勤:新增规则;

老师考勤:.为啥空着呢?是否有必要写呢,是个可以讨论的话题(无该需求用例)

职工管理:新增职工;修改职工;禁用启用;列表查询;重置密码;导入导出;

三、UI自动化测试脚本设计编写过程

新增职工界面脚本设计:

    在【页面元素区】新建一个【xxxV1.8.10考勤优化二期】文件夹

    然后在【xxxV1.8.10考勤优化二期】文件夹下新建一个资源文件【新增职工页面】

    设计思路:提供一个方法给测试用例调用,调用该方法,用户传入用户名,性别,手机号,邮箱字段,用例就自动执行输入姓名,选择性别,输入手机号,输入邮箱,点击确认,然后断言。

    开始编写:首先我们在资源文件【新增职工页面】下,新建变量用来存储定位信息:【这里也应该有个思考,我是不是可以用外部文件来存储变量呢,岂不是更好??比如yaml文件,或者py中配置,这个py文件是不是可以发生更多的故事,比如用来切换不同环境变量】

Scarla变量,${单个添加} ,用来存储进入到新建职工页面的入口按钮元素定位信息

Scarla变量,${姓名} ,用来存储姓名输入框的定位信息

Scarla变量,${手机号},用来存储手机号输入框的定位信息

Scarla变量,${邮箱},用来存储邮箱输入框的定位信息

Scarla变量,${确认},用来存储确认按钮的定位信息

字典变量 ,&{sex_dict} ,用来存储性别信息,也就是男女的定位元素信息

    元素信息定义好之后,要设计方法:

    新建第一个方法:输入姓名,主要功能就是接收用户的输入并输入到姓名输入框中

    

新建第二个方法:选择性别,根据用户输入来选择

新建第三个方法:输入手机号

新建第四个方法:输入邮箱

新建第五个方法:添加员工  ,这个方法就是提供给测试用例调用的,同时这个方法还调用了业务公共方法,进入到某个页面方法

那方法设计好后,就应该设计测试用例了,测试用例主要就是传入参数的设计了

在测试用例区新建一个文件夹【xxxV1.8.10考勤二期优化】,然后新建一个测试套件【添加职工】,在测试套件下新建一个测试用例【add_001】

第一个用例如图,我们Documentation中是对我们测试用例的描述,在测试报告中会格外有用,所以大家一定要记得写

首先我们要点击测试套件【添加职工】导入我们写好的方法,就跟python中引用包是一样的方法

引入后,我们就可以在测试用例中使用方法【添加职工】,我们第一个参数传入的是姓名,对应的我们测试的功能测试用例-测试10个汉字是否可以添加,其他参数正常输入

其中${EMPTY}代表输入空值,也就是不输入内容

我们可以发现,方法中我们是没有断言的,测试用例的最后一行我们要使用断言来进行操作结果的断言

下面我再放几个测试用例来:

add_002

add_003

add_010

这个用例我们着重要说下,他是用来测试输入错误格式手机号,前端是否做了正确处理的

由于我们的用例后期要经常的执行,虽然名字产品上允许重复,但是邮箱不可以重复,所以我们就要对其进行参数化,以此来保障我们测试用例的健壮性,可以重复且稳定的执行

所以我们用FakerLibrary来进行参数化姓名与邮箱

最后加上对应断言,手机号格式错误

其他的测试用例都要根据我们的经验去进行设计:如其他用例虽然没有贴上来,但是可以预见,他们肯定是有的是测试输入10位手机号,测试姓名纯英文,测试性别选择,测试邮箱输入各种错误格式等....

----------画个横线,标识下,我们已经完成新增职工的UI自动化测试脚本与用例的设计---------

编辑职工界面脚本设计:

可以发现,与新增界面一致,不一样的是界面会带入用户的信息显示,下面我们看如何设计编辑页面的方法

同样,首先我们要新建变量存储我们要操作的元素的定位信息

然后设计编辑用户的各种方法如图:

修改姓名,我们要判断用户传过来的内容是不是空值,如果是空值,意思就是我们不做修改,如果不是空值,我们要注意加上clear=Text这个参数,要先清理掉旧的内容,再输入新的内容

修改性别,我们要先判断下【男】是不是被选中了,如果被选中了,我们就选择女,如果没被选中就选择男,由于这里不是采用radio类型来进行的,所以我们就根据class的变化来判断

这里我们写了一个方法,叫【获取列表数据】,写这个方法就是为了测试编辑页面显示的内容是否准确,这个方法我们用Get Text方法获取列表上对应元素的值

方法【提交修改】就是对外给测试用例用来调用的方法

上述为方法的设计过程,方法设计编写完成后,就需要在测试用例中调用

我们从下图观察:

第一个用例,我们是测试列表的数据与编辑页面的数据是否展示一致,我们首先参数化添加一个员工,然后进入该员工的修改页面,接下来就是比对列表的数据与编辑页面的数据是否一致,我们用BuiltIn库里的Should Be Equal来进行比较

edit_002 : 修改姓名,其他不变

edit_003:修改手机号,其他不变

edit_004:修改邮箱,其他不变

------------------画个横线,用来标识我们设计好了编写职工的脚本设计与用例设计---------------------

其实还有2个功能需要写自动化,后面再整理上来~~

点击查看更多知识集合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落入凡尘的鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值