Datafactory简介
Datafactory(数据工厂)工具是Quest公司(http://www.quest.com)旗下的产品,顾名思义,数据工厂是生产数据的,主要应用领域是性能测试中的大数据量测试, 也就是性能测试数据准备阶段。
DataFactory 是一种快速的,易于产生测试数据的带有直觉用户介面的工具,它能建模复杂数据关系。DataFactory是一种强大的数据产生器,它允许开发人员和QA很容易产生百万行有意义的正确的测试数据库,该工具支持DB2、Oracle、Sybase、SQL Server数据库,支持ODBC连接方式,无法直接使用MySQL数据库。它能够根据用户定制,产生或导入需要的数据,插入相应的数据表或导出至外部文件。
Datafactory原理
通过和数据库进行连接后,对选定表的字段设定一定的插入规则,然后批量插入记录。Datafactory支持各种主流数据库(Oracle、DB2、MS SQL),甚至excel、access等。
软件安装
1 .DataFactory安装
下载DataFactory并进行安装,下载地址:链接:https://pan.baidu.com/share/init?surl=0PiqHxa4CpCUKaqAb-n99w 提取码:wq47 。
2. ODBC驱动安装
下载MySQL-ODBC驱动并安装,下载安装myodbc32驱动 : https://dev.mysql.com/downloads/connector/odbc/。
3 .基本配置
a. 启动DataFactory,通过ODBC连接MySQL数据库,如图所示:
b.选择DBC Administrator对ODBC用户DSN的配置,如下图所示:
c. 进入ODBC数据源管理器,通过点击“添加”来新增用户数据源,页面如下:
- MySQL ODBC 5.3 ANSI Driver:只针对有限的字符集的范围
- MySQL ODBC 5.3 Unicode Driver:提供了多语言的支持
d. 配置MySQL连接信息,页面如下:
e. 配置好数据源后返回到步骤2的页面,此时需要选择数据源,由于新建的数据源此时还无法进行选择,因此取消此安装流程,重新打开一个新的连接流程即可;
f. 选择相应数据表,页面如下:
g. 选择user1,并进入下一步,指定执行名称为:add_user1,页面如下:
h. 完成配置,页面如下:
简单使用
以上 ,我们已经完成了配置,下面我们可以定义出入数据的规则,完成数据的生成了。选中表的字段,不同类型,提供不同数据产生的设置。
字段为Field.Text时:
Insert value from a data table:从系统数据表中获取数据插入
Insert value from an SQL database:编写SQL语句从数据库中获取数据插入
Insert text from a file:外部文件数据插入
Insert random characters:随机值插入
Insert a string constant:常量值插入
Build a composite field:组合值插入
字段为Field.Numeric时:
Insert value from a data table:从系统数据表中获取数据插入
Insert value from an SQL database:编写SQL语句从数据库中获取数据插入
Insert value from an arithmetic expression:表达式产生数据插入
Insert sequential values:自增长数据插入
Insert random values:随机值插入
Insert a constant value:常量值插入
字段为Field.Date时:
Insert value from a data table:从系统数据表中获取数据插入
Insert value from an SQL database:编写SQL语句从数据库中获取数据插入
Insert sequential values:连续的时间插入
Insert random values:随机的时间插入
Insert the curent system data:当前系统时间插入
————————————————
1)将id设置为自动生成
2)将name设置成长度为5的随机字符串
3)将username设置成长度为3-8的随机字符串
4)password设置为123456
5)createtime为datetime类型,这里设定设定一个随机的时间,时间跨度为2019-4-21 01:12:58到-2019-4-21 04:12:58。
6)点击Run,提示成功
7)查看数据,插入了100条数据。
注:要修改插入条数,可以修改下图中的ecords。