前面,我们分别介绍了:
第一章节:教你用RPA高效进行软件测试
本章节主要分享怎么结合实在RPA设计器、实在RPA控制器、实在RPA机器人以及实在智能的松塔数据服务平台,集成运行UI自动化流程,自动发送测试报告。
什么是测试报告?软件测试报告就是把测试的过程和结果写成文档,方便对发现的问题和缺陷进行分析,为纠正软件存在的质量问题提供依据;实在智能松塔系统提供了丰富的报表展示平台,我们可以通过流程用例运行时,搜集测试结果数据,定制符合需求的测试报告,具体实现方法请参考下文。
一、创建测试报告
(一)如何通过实在智能松塔系统创建测试报告
通过松塔系统创建测试报告,首先要给设计器账号进行授权操作,想要授权的小伙伴可以关注实在RPA IPA 公众号,点击菜单栏-加入我们-加入社群,申请授权,将有松塔解决方案专家与您联系。
获得授权后,我们可以直接登录松塔,进入到菜单 “数据应用” —“BI可视化”的页面,进入页面后可以看到数据库连接参数。这个数据后面需要使用,那我们继续点击按钮,进入Indeed BI。
进入Indeed BI后,需要连接数据源。注意,这个数据源就是数据库,对应的连接参数就是我们在上面步骤中的BI可视化页面展示的信息。这个数据库是松塔的内置数据库会存放当前账号保存的数据,测试用例构建栏目的第八个章节中,我们创建的测试报告表test_report表就保存在当前的数据源中。
连接好数据源,我们需要创建数据集。数据集的作用是查看表数据的数据详情的,具备自定义编辑sql查询的功能,以及命名字段的功能。我们要先找到存放测试报告数据的表,点击按钮创建数据集,进入数据集编辑页面,点击刷新按钮可以查出当前表中的数据。这里还可以自定义编辑字段名,设定好想要的内容后在点击保存按钮保存数据集。到此,数据集就创建成功了。
保存数据集成功还要创建一个仪表盘。仪表盘的作用是创建编辑报表,也就是我们的测试报告:点击 “开始分析” 、 “创建仪表盘” 按钮,进入仪表盘编辑页面,先拖入饼图用来统计测试用例的通过和失败占比,把测试结果字段作为统计图的维度与度量,最后再通过设计样式来调整实际展示,详情操作见视频:
测试报告添加饼图
添加完饼图后,还可以添加一个测试用例详情的图,并把错误和成功的状态用测试用例标记出来。详情见视频操作:
测试报告添加明细表
Indeed BI中有非常多的统计报表,以上是两个样例,实际结果可根据项目需求,来添加对应的统计图。加好统计图后,我们可以保存并发布测试报告,回到仪表盘找到新增的并公开访问链接,就能通过链接直接访问我们的测试报告。
二、通过实在RPA控制器集成测试流程包,运行并自动发送测试邮件
本环节主要介绍:如何通过控制器添加测试流程包,并且设置定时任务,做到自动运行测试用例并发送的功能。我们先准备一台Windows电脑,并按下面操作:
流程包一:创建发送测试报告到飞书
自动发送测试结果邮件是集成测试的一个重要的环节。实在RPA设计器提供了企业微信通知组件、信息通知组件、飞书通知组件、邮件通知等组件。本次主要介绍使用飞书发送邮件通知。
首先,需要在接收消息的群里加一个群机器人,拿到机器人的webhook地址,在实在RPA设计器中创建独立的发送邮件流程包,编辑流程块,拖入“飞书机器人” 组件,输入飞书机器人地址和发送的文本内容,内容里添加松塔的测试报告链接,即可完成发送邮件的设置。
点击就可以发送测试报告到飞书群中:
测试结果发送通知示图如下:
如果测试报告表test_report中存在旧的数据,并且需要清除,我们可以通过设计器的数据库组件,执行sql脚本清除。不是当天的测试数据即可,在流程包中加入如下组件,到此步发送邮件组件创建完成。
飞书机器人富文本内容模板
{"zh_cn": {"title": "web项目运行结果","content": [[{"tag": "text","text": "运行结果: "},{"tag": "a","text": "点击查看报告(内网访问)","href": "http://此处放报告链接"}],[{"tag": "text","text": "各位同事,大家好,以下是RPA流程自动化测试定时运行结果已集成项目:xxxx项目"}]]}}
流程包二:基于控制器和bot机器人集成测试
将要测试的流程包,通过实在RPA设计器,发布到企业市场。如下操作:
实在RPA机器人,是用来接收测试流程包并运行的客户端,所以要先启动实在RPA机器人,并登录当前设计器所登录的账号。
登录成功后,再登录实在RPA控制器,创建执行任务,设置定时执行时间。登录控制器的账号与登录设计器的账号也相同,登录成功后进入菜单“任务中心” “任务管理” “创建任务组”,流程市场中选中自己的测试流程包,注意测试用例的流程包必须要放在发送测试报告的流程包前面,确保测试报告发送完整,设置定时执行时间,选择执行机器人的时候,要选中上面登录了实在RPA机器人的那个账号的机器人。如下图操作:
设置完成后我们回到实在RPA机器人客户端的页面,可以看到刚刚在控制器上面创建的test任务,已经展示出来了:
只要等到我们设定的时间,就会触发测试用例流程包的自动执行,再是发送邮件的流程包自动执行,到此通过控制器集成测试流程包运行,并自动发送测试邮件就已经完成。
相比传统的通过Jenkins创建job然后配置执行脚本,配置发送邮件的繁琐步骤以及会碰到的各种不知名错误,此方法只需在页面点点点可完成,大大的缩短时间和节省脑细胞。
三、与市面的自动化工具优势
1、创建用例流相比传统代码编写用例流程非常快捷
2、调试定位时可以直接选中对应的组件执行,不需要通过复用浏览器来执行
3、定位元素只需要选中对应的组件,然后通过页面操作拾取元素即可集成了定位和点击等操作的一体化,相比开源工具节省了各种方法的调用流程
4、通过控制器可以简单快速的实现持续调度运行测试流程包,相比开源工具创建job调度任务节省了配置参数的环境,缩短时间,降低使用难度
补充一点,自建组件编辑内容时操作比较繁琐,使用需要多加留意。使用前须知,现测试报告内容不能记录比较详细的信息,无法记录操作步骤信息,可根据需求自行记录。
四、提高元素定位成功率的方法
(一)通过流程
1、用例执行完成后返回到指定的页面,然后下一个用例从前一个用例返回的页面开始执行
2、判断元素是否存在或者可点击然后多点击几次或者刷新页面后再点击,因为有时候网页加载慢会受到影响
3、设置等待时间
(二)通过组件提供的定位方式
1、通过坐标定位
2、通过图片相似定位
3、通过移动鼠标组件调整页面定位
(三)通过css定位
1、通过class或id模糊匹配定位
2、通过父子节点模糊匹配定位 $('#s_kw_wrap>input')
3、通过后代节点模糊匹配定位 $('.head_wrapper .lg .su')
4、通过找父节点下的第n个子元素模糊匹配$('.head_wrapper:nth-child(n));