`
Tristan_S
  • 浏览: 383376 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

生成大测试文件工具

 
阅读更多
package com.hp.testdata;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

import org.apache.commons.lang.StringUtils;

public class GenerateTestFile {
	//${number} ${ip} ${mac}
	static String fileContent = "testFiles/generate/senario1_source.xml";
	static String fileHeader = "testFiles/generate/senario1_header.txt";
	static String fileFoot = "testFiles/generate/senario1_foot.txt";
	static String fileOutput = "testFiles/generate/senario1_result.xml";
	static int loopNum = 3000;
	static int p1 =1;
	static int p2 =1;
	static int p3 =1;
	static int p4 =1;
	static Random r = new Random();
	
	public static void main(String[] args) throws Exception {
		gen();
	}

	public static String genMacAddress() {
		Random random = new Random();
		String s = "";
		s = Integer.toHexString(random.nextInt());
		return "TEST"+StringUtils.upperCase(s);
	}

	
	public static String genIP() {
		p1 = r.nextInt(255);
		p2 = r.nextInt(255);
		p3 = r.nextInt(255);
		p4 = r.nextInt(255);
		
		return p1+"."+p2+"."+p3+"."+p4;
	}

	public static void gen() throws Exception {
		File fs1 = new File(fileContent);
		InputStreamReader isr = new InputStreamReader(new FileInputStream(
				fs1.getAbsoluteFile()), "UTF-8");
		BufferedReader br = new BufferedReader(isr);

		String temp = "";
		List<String> list = new ArrayList<String>();
		while ((temp = br.readLine()) != null) {
			list.add(temp);
		}

		File fs2 = new File(fileHeader);
		InputStreamReader isr2 = new InputStreamReader(new FileInputStream(
				fs2.getAbsoluteFile()), "UTF-8");
		BufferedReader br2 = new BufferedReader(isr2);
		String temp2 = "";
		List<String> list2 = new ArrayList<String>();
		while ((temp2 = br2.readLine()) != null) {
			list2.add(temp2);
		}

		File fs3 = new File(fileFoot);
		InputStreamReader isr3 = new InputStreamReader(new FileInputStream(
				fs3.getAbsoluteFile()), "UTF-8");
		BufferedReader br3 = new BufferedReader(isr3);
		String temp3 = "";
		List<String> list3 = new ArrayList<String>();
		while ((temp3 = br3.readLine()) != null) {
			list3.add(temp3);
		}

		File fs4 = new File(fileOutput);
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
				new FileOutputStream(fs4), "UTF-8"));

		for (String s : list2) {
			//System.out.println(s);
			bw.write(s);
			bw.write("\r\n");
		}

		for (int i = 1; i <= loopNum; i++) {
			String ip ="";
			for (String s : list) {
				String s2 = s.replace("${number}", String.valueOf(i));
				
				if(s2.contains("${ip}")){
					if("".equals(ip)){
						ip=genIP();
					}
					s2 = s2.replace("${ip}", ip);
				}
				s2 = s2.replace("${mac}", genMacAddress());
				//System.out.println(s2);
				bw.write(s2);
				bw.write("\r\n");
			}
		}

		for (String s : list3) {
			//System.out.println(s);
			bw.write(s);
			bw.write("\r\n");
		}

		bw.flush();
		bw.close();
	}

}


		<ns0:Device>
			<ns4:Printer xmlns:ns4="http://HP.CIS.Device">
				<ns2:ExternalId xmlns:ns2="http://HP.CIS.Common">1085EB957_${number}</ns2:ExternalId>  
				<ns2:Description xmlns:ns2="http://HP.CIS.Common">GBR/Leicester DC-0 F</ns2:Description>
				<ns2:Name xmlns:ns2="http://HP.CIS.Common">1085EB957_${number}</ns2:Name> 
				<ns2:TenantOwner xmlns:ns2="http://HP.CIS.Common">ACT</ns2:TenantOwner>
				<ns2:CIEnvironment xmlns:ns2="http://HP.CIS.Common">Production</ns2:CIEnvironment>
				<ns2:SacmLifecycleStatus xmlns:ns2="http://HP.CIS.Common">Installed</ns2:SacmLifecycleStatus>
				<ns4:SerialNo xmlns:ns2="http://HP.CIS.Device">1085EB957_${number}</ns4:SerialNo>  
				<ns4:OriginalBrand xmlns:ns2="http://HP.CIS.Device">Brother</ns4:OriginalBrand>
				<ns4:OriginalModel xmlns:ns2="http://HP.CIS.Device">DCP-6690cw</ns4:OriginalModel>
			</ns4:Printer>
			<ns4:Interface xmlns:ns4="http://HP.CIS.Device">
				<ns2:ExternalId xmlns:ns2="http://HP.CIS.Common">1085EB957_${number}::00A013000CC7</ns2:ExternalId> 
				<ns2:Name xmlns:ns2="http://HP.CIS.Common">1085EB957_${number}::00A013000CC7</ns2:Name> 
				<ns2:TenantOwner xmlns:ns2="http://HP.CIS.Common">ACT</ns2:TenantOwner>
				<ns2:RelatedCIExternalId xmlns:ns2="http://HP.CIS.Common">1085EB957_${number}</ns2:RelatedCIExternalId> 
				<ns2:RelatedCit xmlns:ns2="http://HP.CIS.Common">Printer</ns2:RelatedCit>
				<ns2:SacmLifecycleStatus xmlns:ns2="http://HP.CIS.Common">Installed</ns2:SacmLifecycleStatus>
				<ns4:MacAddress xmlns:ns4="http://HP.CIS.Device">${mac}</ns4:MacAddress> 
			</ns4:Interface>
			<ns4:IPAddress xmlns:ns4="http://HP.CIS.Device">
				<ns2:ExternalId xmlns:ns2="http://HP.CIS.Common">1085EB957::${ip}</ns2:ExternalId> 
				<ns2:Name xmlns:ns2="http://HP.CIS.Common">${ip}</ns2:Name> 
				<ns2:TenantOwner xmlns:ns2="http://HP.CIS.Common">ACT</ns2:TenantOwner>
				<ns2:RelatedCIExternalId xmlns:ns2="http://HP.CIS.Common">1085EB957_${number}</ns2:RelatedCIExternalId> 
				<ns2:RelatedCit xmlns:ns2="http://HP.CIS.Common">Printer</ns2:RelatedCit>
				<ns2:SacmLifecycleStatus xmlns:ns2="http://HP.CIS.Common">Installed</ns2:SacmLifecycleStatus>
				<ns4:IPAddress xmlns:ns4="http://HP.CIS.Device">${ip}</ns4:IPAddress> 
				<ns4:IPAddressType xmlns:ns4="http://HP.CIS.Device">IPv4</ns4:IPAddressType>
				<ns4:RoutingDomain xmlns:ns4="http://HP.CIS.Device">DefaultDomain</ns4:RoutingDomain>
			</ns4:IPAddress> 
		</ns0:Device> 

分享到:
评论

相关推荐

    生成指定大小文件的工具

    标题中的“生成指定大小文件的工具”是一种用于创建具有预设容量的文件的实用程序,这类工具在IT行业中尤其在软件测试领域非常常见。在软件测试中,测试人员经常需要模拟不同大小的数据来验证应用程序在处理大文件或...

    生成任意大小和格式文件的工具

    生成大文件通常用于测试磁盘容量、网络传输速度或检查文件系统性能。例如,你可以指定生成1GB的文件来检查硬盘是否能快速写入如此大量的数据。工具通常会用零字节、随机数据或其他预定义模式来填充这些文件,以满足...

    文件生成工具,可生成大小、个数、内容随机的文件

    综上所述,这个基于Qt和C++的文件生成工具结合了高级GUI框架和底层编程语言的优势,提供了一个强大的工具,用于创建具有独特内容的任意大小和数量的文件,尤其适用于需要大文件测试的场景。通过深入理解Qt和C++,...

    生成测试数据工具

    "生成测试数据工具"是一种专门用于创建模拟真实环境的数据集的软件工具,它能有效地提高测试的质量和效率。 生成测试数据工具有以下几个核心知识点: 1. **数据生成策略**:这些工具通常提供了多种数据生成策略,...

    测试文件生成器

    首先,我们要理解为何要使用随机数据来生成测试文件。随机数据的无规律性意味着它不会被轻易预测或优化,例如,压缩软件面对这样的数据通常无法实现有效的压缩,因为找不到重复模式。这使得这些测试文件对于评估数据...

    H文件生成CPP文件工具

    标题提到的“H文件生成CPP文件工具”正是为此目的而设计的。这个工具允许开发者将定义在头文件中的类或函数等声明转化为对应的实现代码,便于单独编译和调试。 描述中提到,这是一个由个人开发者创建的程序,它能够...

    word文件生成工具

    "word文件生成工具"就是这样一个程序,它能够根据预设的模板和特定的数据源,自动抽取指定数量的文本行,快速生成多份内容各异的Word文档。这样的工具大大提升了工作效率,避免了手动操作的繁琐和易出错的问题。 ...

    路径生成工具(测试版)

    总结一下,这个“路径生成工具(测试版)”是一个用C#编程语言开发的.NET框架应用,它可以遍历并记录指定路径下的所有文件和文件夹名,将结果保存到文件中。它对于需要管理和分析文件系统结构的用户来说非常实用。...

    饿了么-邱化峰-使用AI生成单元测试.pdf

    在生成测试用例时,会关注不同类型的覆盖率,例如分支覆盖、行覆盖、弱突变测试输出覆盖和异常覆盖。 #### 适应度函数表达 适应度函数在测试用例生成中起到评估测试用例质量的作用,其表达形式可以基于不同的测试...

    TCG-正交表测试用例生成工具

    3. **生成测试用例**:TCG工具会根据选定的正交表自动生成相应的测试用例。每个用例通常包括一组特定的因子值组合,这些组合可以用来测试系统的不同行为。 4. **执行测试**:将生成的测试用例应用到系统上,观察并...

    SoapUI测试工具WSDL文件生成--个人总结

    ### SoapUI测试工具WSDL文件生成方法 #### 一、前言 在软件测试领域,SoapUI是一款非常流行的API测试工具,它支持多种协议(如SOAP、REST等),能够帮助测试人员快速创建测试案例,执行功能性和回归性测试。本文将...

    文件生成工具(可生成指定大小 类型文件)

    这在测试文件读写、格式转换、多媒体处理等功能时非常有用。例如,你可以生成特定格式的图片文件来测试图像处理库,或者创建不同编码的文本文件来验证文本解析器的兼容性。 在描述中提到了“开发过程中的测试”,这...

    .Net数据库生成测试数据工具类

    在.NET开发环境中,数据库...总的来说,这个.NET数据库生成测试数据工具类是一个实用的开发辅助工具,它提高了测试数据准备的效率,减少了人工错误,同时支持多种数据库,使得开发人员能够在各种环境中快速进行测试。

    自己测试使用的pdf测试文件

    测试PDF文件生成与阅读技术 1. PDF文件格式:PDF(Portable Document Format),是一种通用的文档格式,由Adobe公司开发,旨在使用户能够跨平台、跨系统地分享和查看文档。PDF文件可以包含文本、图形、图像、音频、...

    Nhibernate 映射文件生成工具

    同时,生成的接口文件定义了DAO层的操作规范,有利于实现依赖注入和单元测试。 DAO配置文件(如dao.xml)则用于配置DAO实例的创建和管理,通常会包含数据库连接信息、事务管理策略等内容。这部分配置有助于保持代码...

    mapper文件逆向生成工具

    "Mapper文件逆向生成工具"是一个专为Java开发人员设计的工具,它能帮助开发者从已有的Mapper接口或XML配置文件中自动生成相应的Java代码,从而减轻编码负担,提高开发效率。 Mapper文件是MyBatis框架中的一个重要...

    帮助文件生成工具

    4. 测试生成的CHM文件,确保内容完整、显示无误,且搜索功能正常。 综上所述,这款“帮助文件生成工具”为开发者提供了便捷的途径,以高效的方式创建专业且易于访问的CHM帮助文件,是提升软件用户体验的有效工具。...

    读TXT文件随机生成工具

    在IT领域,文本处理是一项基础且重要的任务,而“读TXT文件随机生成工具”就是针对这一需求设计的应用。这个工具的目的是从TXT文件中读取数据,并基于这些数据生成随机的结果。下面我们将深入探讨其中涉及的技术和...

    自动生成测试数据

    在IT行业中,自动生成测试数据是一项重要的任务,它...`生成测试数据.exe`这个程序可能是用于执行这个过程的一个工具,结合`config.ini`配置文件,可以根据预设的规则自动化地创建测试数据,为软件测试提供强大支持。

    测试数据生成工具

    TestDataBuilder是一个采用Java编写的,完全开源,免费的测试数据生成工具,软件遵循GPL协议. 功能描述: TestDataBuilder是一款自动化测试辅助工具 可以帮助程序开发或测试人员自动生成数据库表中的测试...

Global site tag (gtag.js) - Google Analytics