• 自动批量生成Notes应用测试数据!


    大家好,才是真的好。

    无论是演示产品,还是测试功能,我们的应用程序或产品开发完成后,总需要很多数据,Notes应用也不例外。

    在过去,一般Notes开发人员在开发同时也是测试人员,自己打开表单填入数据,进行运行,再查看界面或代码逻辑是否存在问题,来进行修改。

    不过,这也太浪费时间了。

    为此,今天我们介绍一款可在Notes应用开发中能使用到的神器:Faker。

    Faker是一款工具,支持多种语言,例如Python、Java、Ruby、PHP、NodeJS 等。它可以自动生成从身份证到姓名再到地址、动物、书籍、头像、职位等数据,基本上覆盖了我们生活中的方方页面,同时也支持各种语言,例如中文、日语、德语等。

    你都已经看到这里了,肯定是知道我们的Notes应用程序支持Java对吧?

    本篇就讲述在我们的Notes Todo应用自动批量生成多条测试数据。你可以在公众号对话框中回复“fakerdata”来获取例库,然后按照下面的指导来一起动手实操。

    这个todo待办应用里的字段很少,只有主题、开始日期、结束日期、优先级、状态和备注等,如下图
    在这里插入图片描述
    这些字段虽然简单,但之间逻辑也有些要求,例如结束时间不能早于开始时间,优先级和状态都是限定的关键字等。

    现在,用Domino Designer打开Todo应用,先建一个Java代理,名称叫做“自动批量生成测试数据”,或者你自己定义的名字。然后导入javafaker的jar和关联jar包文件(jar引用方式有很多,例如也可以放到Notes或Domino对应的文件目录下引用,本例为简单起见,直接导入到代理中,这些包包括在我们提供的例库中),如下图:
    在这里插入图片描述
    在java代理程序中,主要引用com.github.javafaker.Faker包,如下图:
    在这里插入图片描述
    本例假设自动生成1000条数据,数据越多,越能体现该工具强大。

    代码里面设置几个常量名,例如表单名FROM为Todo,MAX_RECORDS为1000——即最多可生成1000条数据,如下图:
    在这里插入图片描述
    在try语句块中,是主要功能实现部分。

    首先使用Faker faker = new Faker()实例化一个新的Faker对象,请注意,可使用Faker faker = new Faker(new Locale(“zh-CN”))实例化的同时,指定采用中文,本例采用默认的英文。

    主题字段的话,我使用了faker.date().title(),随机一本书名。然后通过doc.replaceItemValue(fieldname,value)来进行文档字段创建。

    还有比较重要的是时间的处理。要注意,Domino Java中我们需要使用DateTime来创建时间日期对象dtnow,通过dtnow.setNow()设置为现在,而后使用dtnow.adjustDay(n)来调整现在日期之后的n天,有了这个基础,我们可以利用faker.date().between方法来在指定日期段中随机生成一个日期,这样实现结束时间晚于开始时间,提高测试数据的逻辑真实性。

    ——我似乎在讲代码,这些Domino Designer帮助中都有,请自行查看。

    来看看最后的结果,在操作菜单中运行下该代理程序。
    在这里插入图片描述
    得到指定数量的测试数据,如下图:
    在这里插入图片描述
    对上述代码进行简单修改,就可根据你自己的Notes应用来批量产生测试数据。

    今天我们就讲到这里。

    更多精彩内容,请关注微信公众号:协作者

  • 相关阅读:
    【zip密码】Zip压缩包删除密码方法
    基于SSM的电动车上牌管理系统设计与实现
    table的展开折叠按钮操作
    22年icpc西安站记录
    前端面经 在地址栏输入URL,到页面呈现,中间会发生
    flink的CoProcessFunction使用示例
    条例13~17(资源管理)
    搜索与图论篇——DFS和BFS
    (一)整合管理&&范围管理
    【SpingBoot拦截器】实现两个接口,配置拦截路径
  • 原文地址:https://blog.csdn.net/XZZ_2018/article/details/125524339