博文共赏:SAP自动化准备测试数据:一个基于AutoIt VBS XML的实现思路

SAP是当前知名且领先的ERP系统,在对与 SAP 有交互的软件系统进行测试时,经常需要使用 SAP GUI Client 完成一定的常规操作,例如创建测试数据等。这些操作具备如下特点:需要一定的 SAP 知识和技能;步骤冗长;耗时耗力;重复性强等。为了提高工作效率,降低测试人员和开发人员的工作量,通过自动化的方式来完成数据准备是我们首先想到的方法。Script Center是我们自主开发的一款基于 AutoIt 的 SAP 自动化测试工具,通过它执行操作 SAP 的 VBS 脚本,可快速完成测试数据的准备。用户也可以通过Script Center方便的编辑要创建的数据值,以便创建若干不同的测试数据。

\

问题的提出

\

笔者所在的部门是负责开发和测试一个电子商务应用系统,这个系统和SAP交互频繁。我们往往需要在SAP中准备一些测试数据。以前,这些数据的准备工作,通常是手动的在SAP GUI Client中进行操作,参考帮助文档,一步一步执行完成。整个过程耗时耗力,且重复性强,很无趣。另外,这些操作往往比较复杂,通常是由熟悉SAP操作且了解电子商务应用系统的业务逻辑的少数人帮助大家来完成。在任务比较多的阶段,测试数据的需求也多,这些人本来的工作量就很大,所以对于其他人关于创建测试数据的请求有时会延迟处理。所以,项目组迫切需要一种方便、快捷的方式来在SAP中准备测试数据,减轻大家的工作压力,提高工作效率。

\

方案描述

\

自动化准备数据是我们首先想到的解决方法,SAP自带了录制和回放功能。最后录制形成的脚本是VBS格式,双击这个VBS文件即可回放。但是单纯的回放脚本并不能满足用户对数据的要求,我们需要参数化这些数据,用户可以根据自己的需要来填写自己想要的数据。因为XML编辑起来没有对软件的特殊要求,可以很方便的进行编辑,最终决定用XML格式来保存这些数据。鉴于用户直接编辑XML可能会导致错误,我们用AutoIt研发出的script center可以对这些数据字段进行友好访问及编辑。Script center还可以对脚本进行集中管理,使得用户有更易用的界面来运行自己需要的脚本。

\

总体架构设计

\

图1. 架构图

\

2935ef54dd2263575c909d1e14f45f38.png

\

从架构图可以看到我们Script Center的设计思路,下面从工作流的角度来解释该结构图:

\
  1. 用户的所有操作只需要在Script Center的GUI上完成;\
  2. 通过Script Center查看所有自动化SAP的VBS脚本,并可以执行VBS脚本;\
  3. 通过Script Center轻松查看和修改脚本所需的数据文件;\
  4. 脚本读取对应数据文件,通过SAP GUI Client对SAP进行操作,完成SAP自动化;\
  5. 为方便SAP登录用户的集中维护,Script需要从DB中读取SAP登录信息,脚本执行完成后, 将记录保存到DB,同时生成相应的日志文件。\

系统实现

\

前提:

\
  1. 客户机需要安装Script Center,SAP GUI Client,AutoIt\
  2. DB2 server 上部署Web Service,VBS 脚本通过Web Service和数据库进行交互\

AutoIt简介

\

AutoIt 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件,用来在Windows下实现各种自动化任务(比如自动安装目标程序、完成各种自动化操作等)。 通过它可以组合使用模拟键盘按键,鼠标移动和窗口/控件操作等来实现自动化任务, 而且可以利用它开发自己的GUI,以便获得更好的交互效果,另外,它可以把它的Script语言转换成exe可执行程序。

\

通过AutoIt建立Script Center用户界面

\

考虑到Script Center的主要功能比较简单,所以选择轻量级的AutoIt来开发主界面,而且AutoIt可以把脚本文件编译为独立的可执行文件,方便 Script Center在不同客户机上运行。 Script Center主界面主要是用于展示脚本文件,然后选择对应的脚本文件配置数据文件, 最后点击运行执行自动化脚本调用SAP GUI Client进行SAP自动化操作。

\

图2. Script Center主界面

\

fa4d94ee442cf3aa15a1f2737ff035aa.png

\

Script Center GUI创建的代码片段,前半部分完成控件的创建,后半部分通过消息循环机制实现操作部分。

\
清单1. Script Center GUI创建的代码片段
\
\Local $mainwindow = GUICreate(\"ScriptCenter\
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值