您好,登錄后才能下訂單哦!
CREATE TABLE `testngreport_two` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '編號',
`uuid` varchar(100) NOT NULL COMMENT '編號',
`passed` varchar(255) DEFAULT NULL COMMENT '通過',
`failed` varchar(255) DEFAULT NULL COMMENT '失敗',
`skipped` varchar(255) DEFAULT NULL COMMENT '跳過',
`duration` varchar(255) DEFAULT NULL COMMENT '使用時間',
`test_user` varchar(255) DEFAULT NULL COMMENT '測試用戶人員',
`systemInfo` varchar(255) DEFAULT NULL COMMENT '系統(tǒng)信息',
`test_time` datetime DEFAULT NULL COMMENT '測試時間',
`description` varchar(255) DEFAULT NULL COMMENT '用例描述',
`starttime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '開始時間',
`endtime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '結(jié)束時間',
`Interfacename` varchar(255) DEFAULT NULL COMMENT '接口名字',
`type` varchar(255) DEFAULT NULL COMMENT '類型',
`failuredetails` varchar(500) DEFAULT NULL COMMENT '失敗詳情',
`testPackageNamePath` varchar(255) DEFAULT NULL COMMENT '包名方類名方法名',
`requestUrl` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '請求url',
`requestBody` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '請求body',
`requestParameter` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '請求參數(shù)',
`responseBody` longtext CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '響應(yīng)信息',
PRIMARY KEY (`id`,`uuid`)
) ENGINE=InnoDB AUTO_INCREMENT=380 DEFAULT CHARSET=utf8;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.extern.log4j.Log4j;
import java.util.Map;
/**
* @author liwen406
* @Title: MyHttpEntity
* @Description: 請求實體類
* @date 2019/3/24 / 17:54
*/
@Log4j
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class MyHttpEntity implements Entity {
String url;
String ip;
String body;
String info;
Map<String, ?> parameter;
Map<String, String> header;
}
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/**
* @author liwen406
* @Title: JDBCUtils
* @Description: 1. 聲明靜態(tài)數(shù)據(jù)源成員變量
* 2. 創(chuàng)建連接池對象
* 3. 定義公有的得到數(shù)據(jù)源的方法
* 4. 定義得到連接對象的方法
* 5. 定義關(guān)閉資源的方法
* @date 2019/3/20 / 13:34
*/
public class JDBCUtils {
/**1. 聲明靜態(tài)數(shù)據(jù)源成員變量*/
private static DataSource ds;
/**2. 創(chuàng)建連接池對象*/
static {
/**加載配置文件中的數(shù)據(jù)*/
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("application.yml");
Properties pp = new Properties();
try {
pp.load(is);
/** 創(chuàng)建連接池,使用配置文件中的參數(shù)*/
ds = DruidDataSourceFactory.createDataSource(pp);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 3. 定義公有的得到數(shù)據(jù)源的方法
* @return
*/
public static DataSource getDataSource() {
return ds;
}
/**
* 4. 定義得到連接對象的方法
* @return
* @throws SQLException
*/
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
/**
* 5.定義關(guān)閉資源的方法
* @param conn
* @param stmt
* @param rs
*/
public static void close(Connection conn, Statement stmt, ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
}
}
}
/***
* 6.重載關(guān)閉方法
* @param conn
* @param stmt
*/
public static void close(Connection conn, Statement stmt) {
close(conn, stmt, null);
}
}
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
public int savereportTwo1(TestngReport testngReport) {
testngReport.setUuid(Tool.getUUID());
testngReport.setTesttime(new Date());
int id = 0;
try {
//1.定義sql
String sql = "INSERT INTO testngreport_two(uuid,duration,test_user," +
"test_time,starttime,endtime," +
"requestUrl,requestBody,requestParameter,responseBody) VALUES (?,?,?,?,?,?,?,?,?,?)";
//2.執(zhí)行sql
id = template.update(sql, testngReport.getUuid(),
testngReport.getDuration(),
testngReport.getTestuser(),
testngReport.getTesttime(),
testngReport.getStarttime(),
testngReport.getEndtime(),
testngReport.getRequestUrl(),
testngReport.getRequestBody(),
testngReport.getRequestParameter(),
testngReport.getResponseBody()
);
log.info("插入成功:" + id);
} catch (DataAccessException e) {
log.info("插入失敗");
e.printStackTrace();
}
return id;
}
@DataProvider
public Object[][] getparam() {
int k = 0;
String[] param = {"2367952", "2367141", "2366552", "2364334"};
Object[][] result = new Object[param.length][];
for (int i = 0; i < param.length; i++) {
MyHttpEntity httpEntity = new MyHttpEntity();
httpEntity.setUrl("https://blog.51cto.com/357712148/" + param[i]);
result[k++] = new Object[]{httpEntity};
}
return result;
}
@Test(dataProvider = "getparam", dataProviderClass = Dataprovidert.class)
public void mydatep(MyHttpEntity httpEntity) {
TestngReportRaoimpl reportRaoimpl = new TestngReportRaoimpl();
Long starttime = System.currentTimeMillis();
HttpResponse response = HttpRequest.get(httpEntity.url).execute();
Assert.assertTrue(response.body().contains("success"));
Long endttime = System.currentTimeMillis();
TestngReport testngReport = new TestngReport();
testngReport.setRequestUrl(httpEntity.getUrl());
testngReport.setStarttime(starttime + "");
testngReport.setEndtime(endttime + "");
testngReport.setTestuser("liwen");
testngReport.setRequestParameter(httpEntity.getParameter() + "");
testngReport.setResponseBody(response.body());
testngReport.setRequestBody(httpEntity.getBody());
testngReport.setDuration((endttime - starttime) + "毫秒");
reportRaoimpl.savereportTwo1(testngReport);
}
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。