技多不压身
1 个月,最近都没有去写了
是生成 java 在编译,前面说错了。生成.java 文件和编译参考代码:
public void createJavaFile(String classname,String testcase)
{
String rt = "";
String tcpackage=null;
String tcimport=null;
String tcClass=null;
tcpackage="package AutoTest;" + ""+ rt;
tcimport="";
tcClass="public class "+ classname+""+rt+"{"+rt
+testcase+rt+"}";
String fileName ="your java path";
File f = new File(fileName);
FileWriter fw;
try {
fw = new FileWriter(f);
if(fw!=null)
{
fw.write(tcpackage+tcimport+tcClass);
fw.flush();
fw.close();
}
} catch (Exception e) {
System.out.println("测试"+e.toString());
}
// compile .java
try {
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileMgr = compiler.getStandardFileManager(null,null, null);
Iterable units = fileMgr.getJavaFileObjects(fileName);
CompilationTask t = compiler.getTask(null, fileMgr, null, null, null,units);
t.call();
fileMgr.close();
} catch (IOException e) {
System.out.println("编译"+e.toString());
}
}
其实刚开始我也没有想到能够实现这个功能。我在网上看到一篇文章 “大概内容就是讲如何生成 class 文件并编译”。
用例转换成脚本也是这个思路,首先后台定义一些不同测试用例的模板,前台设计测试用例,然后把关键的测试用例数据作为参数传输给对应模板,最后用 io 把模板和参数生成 class 文件,再自动编译就可以了。执行的时候就有 java 去 run testng。
说得是,我就是想听听其他在使用的平台是怎么做的,我会根据提到的点进行完善
1、怎么做 restful 自动化?网上 research 一篇,找到比较好的框架开始搭建(搭建 java 环境,熟悉 testng 和 restassured 等)
2、实现自动化之后就想怎么做封装,让普通用户也可以使用?(就要考虑测试数据存储(mysql),页面展示 jsp+js+bootstrap+echarts 等)
3、有思路之后,就开始一步一步实现,遇到问题就 debug 和 research,官网 + 热门的论坛 +stackfolw 基本就能解决错误问题
后台使用 java 执行 testng
TestNG testng = new TestNG();
List suites = Lists.newArrayList();
suites.add("C:/test/javaProject/testFramework/testng.xml");//path to xml..
testng.setTestSuites(suites);
testng.run();
我所有内容都来自网络
测试用例的配置数据保存起来,后台有各种模板,然后把用例数据传入模板,使用 java 生成可执行文件
嗯,到时候会完善,特别是执行的页面要做成可配置的方式
还在招聘没?是不是需要 211?
技多不压身