一种个人网上银行WebUI自动化测试系统的制作方法

文档序号:29738790发布日期:2022-04-21 18:35阅读:442来源:国知局
一种个人网上银行WebUI自动化测试系统的制作方法
一种个人网上银行webui自动化测试系统
技术领域
1.本发明属于自动化测试技术领域,具体涉及一种个人网上银行webui自动化测试系统。


背景技术:

2.受疫情影响,银行的线上交易量呈持续增加趋势,且交易场景、涉及业务也呈现出快速丰富趋势,为了满足客户日益增长的交易诉求和交易安全,对渠道端迭代效率、产品质量也随之要求越来越高。
3.webui是网络产品界面设计(website user interface)的意思,设计范围包括常见的网站设计、网络软件设计。webui设计与常见网站建设的区别是,webui注重人与网站的互动和体验,以人为中心进行设计,而传统的网站建设是以功能为中心进行设计,随着用户对网站体验的日渐挑剔,网站建设的思想逐渐被淘汰;webui是网站设计的未来趋势。
4.敏捷软件开发初起于九十年代中期,最早是为了与传统的瀑布软件开发模式相比较,所以当时的方法叫做轻量级方法;二十世纪初,17位该方法的倡导者建立了敏捷联盟,并将该软件开发方法命名为敏捷软件开发过程;敏捷联盟在成立之初总结了四条基本的价值原则:人员交流重于过程与工具软件产品重于长篇大论;客户协作重于合同谈判;随机应变重于循规蹈矩;devops,强调从构建、集成、测试到部署和运维等全过程的高度自动化;构建工具链或自动化全覆盖的持续研发的方法和工具,让基础设施、运维也成为产品代码的一部分,能够实现持续设计、持续编程、持续构建、持续测试、持续发布、持续部署、持续监控,能够及早发现并更快地修复缺陷,整个研发更具透明性、运维环境更加稳定,实现越来越快的软件交付,减少协作、测试和沟通成本。
5.在当前的敏捷迭代测试模式和devops模式的推行测试工作存在以下问题:
6.第一个问题是迭代频次多,周期短,用于测试的时间少于传统瀑布模式,一个测试场景包含测试点多且渠道端应对前、中、后台的改动回归频次、范围和体量都较大;传统功能测试多依赖于测试人员经验,且介入项目阶段在整体的后半段时间常常被过度压缩,故容易造成功能把控和海量ui细节关注难以两全、回归范围不全面、测试质量参差不齐,测试过程记录不规范出现事件问题难以追溯等问题;管理者不能够有效的进行规范经验累积和复制,对项目的进度质量把控不够准确,管理成本高。
7.第二个问题是在webui(website user interface,网络产品界面)能为用户提供相应的访问或浏览功能,渠道端作为银行直接对客的脸面,提高用户体验保证产品质量是重中之重,对业务提升非常重要,故格式相对固定;由于元素定位、捕捉和系统抗异常干扰能力弱无法将自动化测试脚本提升为测试资产进行继承和复用,使得测试效率低,工作人员在越来越高频次的迭代中不能将精力集中在需求的改动点和复杂场景的评估、准备中,不利于测试质量的保证和提升。
8.问题三是项目团队中人员变更流动性大,对问题的记录、沟通、解决反馈往往依赖老带新模式,人员素质的参差不齐导致沟通成本高、过程不规范、缺少相关必要记录,十分
缺陷等级命名规则的文件夹中通过邮件发送至相关成员邮箱,同时登打在行内测试管理平台中。
21.与现有技术相比,本发明的有益效果是:
22.有助于解决迭代高频次背景下,渠道端测试周期短,重复性回归工作任务量大,测试资产继承复用能力弱,导致测试效率低,质量保证困难的问题;且当页面元素等有改动时,只需要改动操作细节里的代码,而它提供一个方法给验证,从而验证里面的代码不需要做修改。
附图说明
23.图1为本发明的提供的个人网银webui自动化测试方法的流程示意图;
24.图2为本发明的生成测试场景用例集的结构示意图;
25.图3为本发明的转化对应测试场景脚本集的结构示意图;
26.图4为本发明的系统执行脚本并抓取元素生成测试痕迹集并调用脚手架工具包分析元素的结构示意图;
27.图5为本发明的脚手架工具包将测试分析结果报告发至对应邮箱并在行内缺陷管理平台记录缺陷的结构示意图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.请参阅图1、图2、图3、图4和图5,本发明提供一种技术方案:一种个人网上银行webui自动化测试系统,包括:
30.根据个人网银业务模块预构建的webui测试框架和脚手架工具包;包括:由selenium core和selenium test构成的可维护、可持续架构;selenium core被设计用于管理浏览器实例和元素交互,selenium test即,脚手架工具包,被设计用于场景驱动的测试条件和测试结果的处理;
31.selenium core和selenium test的搭建包括:
32.1)环境配置:由于采用python语言开发需解决其对import的依赖,以及完成selenium三个构成组建:ide、grid、webdriver的相关参数配置;
33.2)用例管理:

使用ide自带的用例管理组件suite将test按照场景整合添加在suites中,实现测试内容的科学管理,且基础的test可不断复用,用于组合成新的suites,其中test编写按照行内标准,拆解成最小执行单位后编写在excel中;

创建driver,选择并安装待验证浏览器的对应驱动,并将驱动配置在python的根目录下,如,chrome浏览器的相关配置,driver=webdriver.chrome(),driver.get(“银行个人网银连接”)
34.3)脚本管理:调用ide中的export功能,设置好导出语言(python、pytest)将用例集以python文件形式导出;
35.4)测试痕迹的保存与结果的分析处理,具体包括以下的处理:
36.(1)web的控件定位:采用xpath方法与css方法结合的方式进行单页面元素的拾取,使用到的方法示例如下所示:driver.find_element_by_xpath(

//*[@id=”imgbtn_0”]/span[2]/a[2]/img’);
[0037]
(2)多窗口的处理:个人网银的业务操作往往需要打卡多个窗口进行,对与这类需要在新页面上操作的场景,需要使用webdriver的switch_to.window()方法实现窗口切换功能;

获取当前窗口的句柄:current_window=driver.current_window_handle

打开新窗口,获取当前全部窗口句柄all_handles=driver.window_handles;
[0038]
(3)iframe的处理:当元素处于iframe中,即,基于html的框架,浏览器中显示了不止一个页面,需通过webelement的等方式对此涉及元素进行定位;
[0039]
(4)测试痕迹截取与分析:采用python三方库中方法:使用pytesserart和tesserart-ocr引擎进行图像识别;
[0040]
5)持续集成的配置:
[0041]
通过jenkins集群创建节点,进行远程持续集成,用以保证测试可尽早介入能够频繁、多次的进行小单元的测试;不同测试环境环境的svn代码库分开进行代码部署和配置,通过插件parameter plugin的branch参数设置进行代码版本管控;通过系统管理configure global security开启tcp port for jnlp agents指定端口,并据此设置不同节点;当节点环境复合job要求时,执行相关用例,完成测试,使用提供的邮件插件将测试结果发送到对应成员邮箱;
[0042]
利用测试脚手架工具包生成测试数据并构建自动化测试场景用例库;包括:根据测试场景及脚手架工具包构建所需测试环境的客户excel数据表(账号、证件号、客户号),并以场景-日期-批次的规则命名表格;根据测试场景及脚手架工具包构建所需的自动化测试场景用例库,并以场景-日期-批次的规则命名excel用例表名;
[0043]
利用测试脚手架工具包将场景用例库转化为对应的python测试脚本集,在自动化系统管理脚本,包括:根据测试场景及数据集合测试用例库,使用所属脚手架工具包构建对应的测试脚本集,并以场景-日期-批次-执行顺序的规则命名脚本序列命,脚本由系统管理执行;
[0044]
个人网上银行webui测试系统通过图像识别技术对测试对象进行元素抓取和结果判定并建立对应的测试痕迹集,包括:根据测试场景及数据集、测试用例库及其对应脚本,在系统管理执行过程中由脚手架工具集中的工具pytesserart和tesserart-ocr进行图像的抓取和处理模拟测试人员手动操作,并按照测试流程截取测试痕迹保存至以场景-日期-批次命名规则的文件夹中;利用脚手架工具包将缺陷提交到行内缺陷管理平台,并将测试分析报告发送至对应团队邮箱,包括:根据测试场景及数据集、测试用例库及其对应脚本和测试痕迹集,由脚手架工具集中的工具对测试截图进行分析,判断测试是否通过,如不通过记录并初步定位异常,并对应内容保存至以场景-日期-批次-缺陷等级命名规则的文件夹中通过邮件发送至相关成员邮箱,同时登打在行内测试管理平台中。
[0045]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1