使用Robot输入清单

发表于:2007-4-04 11:27

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:dionysus    来源:51testing博客

     制作一份模拟真实情况的预算文件通常需要输入大量的清单和子目,采用手工输入的话不仅浪费时间而且可重复性不强,本篇文章介绍如何使用Robot的DataPool和for循环对清单进行输入,并探索了两种方法的优缺点。

    从事建筑行业的人都知道清单的输入格式,在这里我也简单介绍一下。 

    十二位的清单格式:

    两位专业号+两位章号+两位节号+三位小节号+三位流水号,如01 01 01 001 001(为了从视觉上看到不同位的意义,我把一个标准的清单用空格分隔开了,正常的清单号是没有空格分隔的)。不同专业、章、节、小节可以组合出不同的清单,最后一位流水号起到区分同一清单的作用,即为010101001001与010101001002是同一清单,只是用户流水号不同,因为一份预算书中不允许有完全相同的清单出现。

    作为自动化输入大量清单我首先想到的就是使用Robot的DataPool。从EXCEL制作大量清单并保存为CSV文件,导入到DataPool中进行循环输入。但这里我遇到一个问题:保存为CSV格式后清单号的第一个0被抹掉了(直接在CSV文档中输入010101001001,保存后第一个0还是会被清除),这样导入到DataPool后清单号都变成十一位了,这不是标准清单!解决办法就是手工在DataPool中添加,但对于大量保存在DataPol中的清单这样的修改是不可行的。于是只能放弃。

    另一种办法就是使用循环,将清单号如上面的格式拆分,分别对专业、章、节、小节、流水号进行循环,最后再组合成为一个标准的清单输入。但这里还有一个小问题,如我对三位小节号从1循环到10,最后怎样让其输出格式为001~010。其实很简单,使用format函数。简单代码如下:


Sub Main
    Dim Result As Integer
    Dim zhuan,zhang,jie,liu as integer
    Dim qing as string
   
    'Initially Recorded: 2006-11-15  21:35:34
    'scrīpt Name:     
        
    for jie = 1 to 5
        for liu = 1 to 5
      
         qing = "01" + "01" + "01" + Cstr(format(jie,"000")) + Cstr(format(liu,"000"))
         InputKeys qing
         InputKeys "{DOWN}"
   
        next liu
    next jie

End Sub

    这是一个再简单不过的循环语句,但是效果却很不错。由此可见我们不见得非要采用“高新技术”解决所有问题,最适用最简单的方法就是最好的。

本文出自51testing博客,转载请注明出处
原始链接:http://blog.51testing.com/?5939

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号