2024年2月19日发(作者:)
DataFactory生成mysql数据——fairylly一、DataFactory简介QuestDataFactory是一种快速的、易于产生测试数据工具,它能建模复杂数据关系,且有带有GUI界面。DataFactory是一个功能强大的数据产生器,它允许开发人员和QC毫不费力地产生百万行有意义的测试数据。工作原理:首先读取数据库中表的schema,即表的定义之类的内容,以列表的形式显示;然后由用户定制要产生数据的具体内容,如数字范围、字符串长度、要产生数据记录的个数等等,最后运行工程,生成数据。二、所需软件包下载DataFactoryV5.6下载:/s/1c0ADqveMysql-odbc下载:/downloads/connector/odbc/本文档使用环境为WIN7-64位,但DataFactory只支持32位odbc,故下载32位包:使用64位odbc时,会出错,具体见:问题记录3;三、安装相关软件DataFactory按提示默认安装即可;注册码:AuthKey:0-87093-23830-05141-17507SiteMsg:FREELANDEVONNERmysql-connector-odbc按提示默认安装即可;
四、ODBC数据源配置开始--》控制面板--》管理工具--》数据源(ODBC)ODBC数据源管理器中,点击添加:选择数据源驱动程序:注:MYSQLConnector/ODBC提供了两个版本,一个是ANSIdriver和Unicodedriver两个版本。Unicodedriver版本提供了更多字符集的支持,也就是提供了多语言的支持。而ANSIdriver版本是只针对有限的字符集的范围。
数据源配置:填写相关信息,如果正确,则可以选择Database,也可以点击Test进行测试,确认连接是否成功,并点击OK;注意:连接远程MYSQL时,记得要授权;如:grantallon*.*totest@’%’identifiedby‘123456’;flushprivileges;
注意:如果安装的是32位ODBC,在WIN7-64位机器上使用管理工具中的数据源(ODBC)进行配置时,会找不到该驱动,只能使用DataFactory的ODBCAdministrator进行管理;五、DataFactory通过ODBC连接MYSQL运行DataFactory,点击New,进入新建向导:
选择连接方式为:ODBC,点击下一步:
ODBC连接信息设置,DataSource数据源选择刚才ODBC新配置的MYSQL数据源,点击下一步:
根据需要增加相关表格到包含清单中,并点击下一步:
设置本脚本名字,点击下一步:
完成页面,显示设置的信息,点击完成按钮,完成创建向导:
完成后,可在DataFactory的Script窗口看到刚创建的相关内容:
六、生成数据根据需要设置数据源:Auto-Deleteincludedtablesbeforerunningproject:在运行项目前自动删除包含的表(慎用)ExecuteSQLscriptbeforedeletingdata:删除数据之前执行SQL脚本
生成表数据时,不是所有的字段都有要求,有些只需要使用default值即可,这时,可把这些字段从模拟字段中去除:Add/RemoveFields;相当于:A表有四个字段a/b/c/d,全使用时,模拟插入的数据为:insertintoA(a,b,c,d)values(“a”,”b”,”c”,”d”);去除字段b时,模拟插入的数据为:insertintoA(a,c,d)values(“a”,”c”,”d”);注意:数据库中选择的多张表之间存在上下关系,如果上面的表,有设置“Createtemporarydatatable(创建临时数据表)”,下面的表,即可通过option设置为:Insertvaluefromdatatable,来选择上方表数据字段值;
数据表生成数据设置:1、选择要批数据的表,例:zt_product/zt_bug,在右侧Properties属性栏中,设置records为100,勾选Createtemporarydatatable(创建临时数据表)复选框:2、打开zt_bug表树,选择字段id,选择option为:Insertsequentialvalues(插入顺序值),Start为1000,Increment为1;3、选择字段company,选择option为:Insertaconstantvalue(插入一个固定值),Value为1;4、选择字段product,选择option为:Insertvaluefromdatatable(插入数据表中的值),Data选择:~zt_product,Field选择:id,Retrievalmethod选择:Selectarecordatrandom;注:此设置适合为外键的字段;
5、选择字段module,选择option为:Insertrandomvalues(插入随机数),Between1and100;6、选择字段keywords,选择option为:InsertvaluefromanSQLdatabase(插入SQL数据值),SQLStatement(SQL语句):selectnamefromzt_product,Ifmorethanonerecordisreturned(返回记录超过一条时):Usefirstrecord(使用第一条记录)/Selectarecordatran(使用随机方式选择记录);注:此设置适合为外键的字段;7、选择字段title,选择option为:Buildacompostiefield(创建一个组合字段),elements:分别Add:TextElement、Date/TimeElement、NumericElement;
TextElement使用固定字符串:bug_:Date/TimeElement
NumericElement
生成的数据格式为:bug_+年月日时分秒+自增数值,例:bug_201;8、选择字段openedDate,选择option为:Insertthecurrentsystemdate(插入当前系统日期),Format设置为:2014-01-1515:49:01;9、字段resolution,使用外部数据引入方式说明:在测试数据库时,很多情况要求根据真实的数据来做必要的测试,这就需要我们可以通过外部自定义的文档来产生数据表中的数据,比如现在有一个TXT文档,里面是想要录入到数据表“zt_bug”的“resolution”字段的值;1)首先创建一个TXT文件,名字任意,格式如下
resolution:varchar(30)bydesignduplicateexternalfixednotrepropostponedrejectedwillnotfix…………注意:字段名称:字段类型(字段类型长度)2)在数据源节点,右键点击:InsertCreateDatatable:3)选择导入数据方式为:Importdatafromfile,下一步:
4)选择刚创建的TXT文档,下一步:5)输入表名,下一步:
6)完成页面,点击完成:7)选择zt_bug表的resolution字段,选择option为:Insertvaluefromdatatable(插入数
据表中的值),Data选择:~reso,Field选择:resolution,Retrievalmethod选择:Selectarecordatrandom;注:刚增加完reso,有可能在zt_bug中还无法选择,退出DataFactory再重登录,可显示;未找到刷新的地方;8)执行后,生成的数据如下:七、问题记录1.配置ODBC数据源,进行Test测试时,弹出错误提示Connectionusingold(pre-4.1.1)authenticationprotocolrefused问题描述:使用5.1.13和5.2.6版本的ODBC,数据源配置并Test测试时,会出现如下提示:
原因:异常原因在于服务器端的密码管理协议陈旧,使用的是旧有的用户密码格式存储;但是客户端采用了新的密码格式,所以拒绝连接。/doc/refman/5.6/en/#option_mysqld_secure-auth或者服务器端配置了使用old_password,如:[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/er=mysql#Defaulttousingoldpasswordformatforcompatibilitywithmysql3.x#clients(thoseusingthemysqlclient10compatibilitypackage).old_passwords=1解决方法:修改服务端配置,不使用old_password方式;如:注释old_passwords,并重启mysql;2.使用3.51.30版本的ODBC,DataFactory-Run执行时没有插入数据到MYSQL中问题描述:
使用3.51.30版本的ODBC,DataFactory进行Run操作时,提示成功,但实际未插入数据到MYSQL中;解决方法:3.51.30版本时会存在该问题,使用新版本的ODBC可解决,如:5.2.6;3.DataFactory进行odbc配置时,提示找不到驱动程序的安装例程及体系结构不匹配问题描述:WIN7-64位环境,安装5.2.6版本64位的odbc,DataFactory在配置odbc时,会报错如下:解决方法:DataFactory只支持32位的odbc,在WIN7-64位环境下,也可以下载安装32位odbc;更换成32位odbc后,正常;
发布者:admin,转转请注明出处:http://www.yc00.com/news/1708342891a1553298.html
评论列表(0条)