Commit e18002b2 authored by 钱雯君's avatar 钱雯君

add

parent a9aca101
/**
* Copyright (C), 2015-2018
* FileName: 兑吧_优惠券秒杀商品兑换测试_AccessTest
* Author: qianwenjun
* Date: 2018/5/31 17:57
* Description: 开发者自有秒杀商品测试
*/
package http.cases.SeckillTest;
import base.DuibaLog;
import base.DuibaTestBase;
import com.alibaba.fastjson.JSON;
import http.service.Authorization;
import http.service.app.SeckillService;
import io.restassured.response.Response;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.testng.Assert;
import org.testng.annotations.Test;
import utils.MatcherString;
import java.util.Map;
/**
* 〈开发者自有秒杀商品测试〉
*
* @author qianwenjun
* @create 2018/5/31
* @since 1.0.0
*/
public class 兑吧_优惠券秒杀商品兑换测试_AccessTest extends DuibaTestBase {
@Autowired
SeckillService seckillService;
@Autowired
Authorization authorization;
private static DuibaLog logger = DuibaLog.getLogger();
private static final Integer uid_Nomal = 2709;
@Test
public void 兑吧秒杀优惠券商品兑换测试() {
try {
Map<String,Object> itemStockResult = jdbc.findSimpleResult("select * from stock.tb_stock where stock_id =(select stock_id from goods.tb_goods_batch where gid = ?)",28423);
Long itemStock = Long.parseLong(itemStockResult.get("stock").toString());
Response response = seckillService.exchange1("166776","28423",uid_Nomal);
response.prettyPrint();
String queueId = response.jsonPath().getString("data.queueId");
Response queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
String title = MatcherString.getString(queryResponse.asString(),"<title>(.*?)</title>",1);
String kind = MatcherString.getString(queryResponse.asString(),"\"kind\":\"(.*?)\",",1);
for (int i=36;i >0;i--){
if ((title.equals("等待中"))||(kind.equals("process"))){
Thread.sleep(3000);
queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
title = MatcherString.getString(queryResponse.asString(),"<title>(.*?)</title>",1);
kind = MatcherString.getString(queryResponse.asString(),"\"kind\":\"(.*?)\",",1);
}else {
break;
}
}
logger.info("response的结果信息为:"+"\nStatusCode="+String.valueOf(queryResponse.getStatusCode())+";kind="+kind+";type="+MatcherString.getString(queryResponse.asString(),"\"type\":\"(.*?)\",",1));
Assert.assertEquals(String.valueOf(queryResponse.getStatusCode()),"200","校验响应状态码失败");
logger.info("queueId="+queueId+",queryResponse的信息为"+ JSON.toJSONString(queryResponse));
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"kind\":\"(.*?)\",",1),"success","校验kind失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"title\":\"(【.*?)\",",1),"【自动化】秒杀优惠券兑换-兑吧","校验title失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"validEndDate\":\"(.*?)\"}",1),"2020-01-31","校验validEndDate失败");
Assert.assertNotNull(MatcherString.getString(queryResponse.asString(),"\"code\":\"(.*?)\",",1),"校验券码是否存在失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"actualPay\":\"(.*?)\",",1),"1积分","校验actualPay失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"type\":\"(.*?)\",",1),"coupon","校验type失败");
logger.info("兑吧实物秒杀商品兑换结果校验成功");
logger.info("kind="+MatcherString.getString(queryResponse.asString(),"\"kind\":\"(.*?)\",",1)+
",validEndDate有效期="+MatcherString.getString(queryResponse.asString(),"\"validEndDate\":\"(.*?)\"}",1)+
",code券码="+MatcherString.getString(queryResponse.asString(),"\"code\":\"(.*?)\",",1)+
",type="+MatcherString.getString(queryResponse.asString(),"\"type\":\"(.*?)\",",1));
Map<String,Object> itemStockResult1 = jdbc.findSimpleResult("select * from stock.tb_stock where stock_id =(select stock_id from goods.tb_goods_batch where gid = ?)",28423);
String itemStock1 = itemStockResult1.get("stock").toString();
Assert.assertEquals(itemStock1,String.valueOf(itemStock-1),"校验库存失败");
logger.info("扣库存校验成功,原库存="+itemStock+",现在库存="+itemStock1);
//清理take_order_queue_record表数据,防止连续兑换报错
Boolean tearResult = jdbc.update("delete from credits_dev.take_order_queue_record where queue_id = ?",queueId);
Boolean tearResult2 = jdbc.update("delete from credits_dev.take_order_queue_record\n");
} catch (Exception e) {
e.printStackTrace();
}
}
}
\ No newline at end of file
/**
* Copyright (C), 2015-2018
* FileName: 兑吧_优惠券秒杀商品兑换测试_AccessTest
* Author: qianwenjun
* Date: 2018/5/31 17:57
* Description: 开发者自有秒杀商品测试
*/
package http.cases.SeckillTest;
import com.alibaba.fastjson.JSON;
import com.duiba.qa.duiba.common.DuibaConfig;
import com.duiba.qa.duiba.common.DuibaTestBase;
import com.duiba.qa.duiba.service.Authorization;
import com.duiba.qa.duiba.service.app.SeckillService;
import com.duiba.qa.duiba.utils.MatcherString;
import com.duiba.qa.publics.util.DuibaLog;
import io.restassured.response.Response;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.testng.Assert;
import org.testng.annotations.Test;
import java.util.Map;
/**
* 〈开发者自有秒杀商品测试〉
*
* @author qianwenjun
* @create 2018/5/31
* @since 1.0.0
*/
@ContextConfiguration(classes = DuibaConfig.class)
public class 兑吧_实物秒杀商品兑换测试_AccessTest extends DuibaTestBase {
@Autowired
SeckillService seckillService;
@Autowired
Authorization authorization;
private static DuibaLog logger = DuibaLog.getLogger();
private static final Integer uid_Nomal = 2709;
@Test
public void 兑吧实物秒杀商品兑换测试() {
try {
Map<String,Object> user = jdbc.findSimpleResult("select * from dafuweng.user where id=?\n",uid_Nomal);
Map<String,Object> consumer = jdbc.findSimpleResult("select * from new_consumer.consumer_0010 where id=?\n","100011624");
Long userCredit = Long.parseLong(user.get("credits").toString());
Long consumerCredit = Long.parseLong(consumer.get("credits").toString());
Map<String,Object> itemStockResult = jdbc.findSimpleResult("select * from stock.tb_stock where stock_id in (select stock_id from goods.item where id = ?)\n","28205");
Long itemStock = Long.parseLong(itemStockResult.get("stock").toString());
Response response = seckillService.exchange1("165895","28205",uid_Nomal);
response.prettyPrint();
String queueId = response.jsonPath().getString("data.queueId");
Response queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
String title = MatcherString.getString(queryResponse.asString(),"<title>(.*?)</title>",1);
String exchangeStatus = MatcherString.getString(queryResponse.asString(),"\"exchangeStatus\":\"(.*?)\",",1);
for (int i=36;i >0;i--){
if ((title.equals("等待中"))||(exchangeStatus.equals("process"))){
Thread.sleep(3000);
queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
title = MatcherString.getString(queryResponse.asString(),"<title>(.*?)</title>",1);
exchangeStatus = MatcherString.getString(queryResponse.asString(),"\"kind\":\"(.*?)\",",1);
}else {
break;
}
}
logger.info("response的结果信息为:"+"\nStatusCode="+String.valueOf(queryResponse.getStatusCode())+";exchangeStatus="+exchangeStatus);
// int statusCode = response.getStatusCode();
// Headers header = queryResponse.getHeaders();
// logger.info("header=" + header.toString() + ";statusCode=" + statusCode);
Assert.assertEquals(String.valueOf(queryResponse.getStatusCode()),"200","校验响应状态码失败");
logger.info("queueId="+queueId+",queryResponse的信息为"+ JSON.toJSONString(queryResponse));
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"exchangeStatus\":\"(.*?)\",",1),"wait_ship","校验exchangeStatus失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"exchangeStatusText\":\"(.*?)\",",1),"待发货","校验exchangeStatusText失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"addrName\":\"(.*?)\",",1),"胡梦新","校验addrName失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"addrPhone\":\"(.*?)\",",1),"18258853242","校验addrPhone失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"addrProvince\":\"(.*?)\",",1),"浙江省","校验addrProvince失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"addrCity\":\"(.*?)\",",1),"杭州市","校验addrCity失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"addrArea\":\"(.*?)\",",1),"西湖区","校验addrArea失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"addrDetail\":\"(.*?)\",",1),"数娱大厦","校验addrDetail失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"actualPay\":\"(.*?)\"}",1),"20积分","校验actualPay失败");
logger.info("兑吧实物秒杀商品兑换结果校验成功");
logger.info("exchangeStatusText="+MatcherString.getString(queryResponse.asString(),"\"exchangeStatusText\":\"(.*?)\",",1)+
",actualPay消耗积分="+MatcherString.getString(queryResponse.asString(),"\"actualPay\":\"(.*?)\"}",1)+
",收货人信息="+MatcherString.getString(queryResponse.asString(),"\"addrName\":\"(.*?)\",",1)+
",地址信息="+MatcherString.getString(queryResponse.asString(),"\"addrDetail\":\"(.*?)\",",1));
Map<String,Object> itemStockResult1 = jdbc.findSimpleResult("select * from stock.tb_stock where stock_id in (select stock_id from goods.item where id = ?)\n","28205");
String itemStock1 = itemStockResult.get("stock").toString();
// Assert.assertEquals(itemStock1,String.valueOf(itemStock-1),"校验库存失败");
Thread.sleep(3000);
Map<String,Object> user1 = jdbc.findSimpleResult("select * from dafuweng.user where id=?\n",uid_Nomal);
Map<String,Object> consumer1 = jdbc.findSimpleResult("select * from new_consumer.consumer_0010 where id=?\n","100011624");
String userCredit1 = user1.get("credits").toString();
String consumerCredit1 = consumer1.get("credits").toString();
Assert.assertEquals(userCredit1,String.valueOf(userCredit-20),"user积分扣除校验失败");
Assert.assertEquals(consumerCredit1,String.valueOf(consumerCredit-20),"consumer积分扣除校验失败");
logger.info("校验积分消耗成功,原积分值="+userCredit+",消耗后积分值为"+userCredit1);
//清理take_order_queue_record表数据,防止连续兑换报错
Boolean tearResult = jdbc.update("delete from credits_dev.take_order_queue_record where queue_id = ?",queueId);
Boolean tearResult2 = jdbc.update("delete from credits_dev.take_order_queue_record\n");
} catch (Exception e) {
e.printStackTrace();
}
}
}
\ No newline at end of file
/**
* Copyright (C), 2015-2018
* FileName: 天天秒杀_秒杀活动兑换测试_AccessTest
* Author: qianwenjun
* Date: 2018/6/20 20:38
* Description:
*/
package http.cases.SeckillTest;
import base.DuibaLog;
import base.DuibaTestBase;
import com.alibaba.fastjson.JSON;
import http.service.Authorization;
import http.service.Manager.EditManagerInfoService;
import http.service.app.SeckillService;
import io.restassured.response.Response;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.test.context.ContextConfiguration;
import org.testng.Assert;
import org.testng.annotations.Test;
import utils.MatcherString;
import java.util.HashMap;
import java.util.Map;
import static io.restassured.RestAssured.given;
/**
* 〈〉
*
* @author qianwenjun
* @create 2018/6/20
* @since 1.0.0
*/
public class 天天秒杀_秒杀活动兑换测试_AccessTest extends DuibaTestBase {
@Autowired
SeckillService seckillService;
@Autowired
EditManagerInfoService editManagerInfoService;
@Value("${seckill.host}")
private String seckillHost;
@Autowired
Authorization authorization;
private DuibaLog logger = DuibaLog.getLogger();
@Test
public void 秒杀活动_地址不全秒杀失败测试(){
Response response = seckillService.ajaxSubmit("32062");
response.prettyPrint();
Assert.assertEquals(response.jsonPath().getString("success"),"true","提交结果校验失败");
Assert.assertEquals(response.jsonPath().getString("responseStatus"),"6","失败状态校验失败");
}
@Test
public void 秒杀活动_库存不足秒杀失败测试(){
Response response = seckillService.ajaxSubmit2("24849",3616);
response.prettyPrint();
Assert.assertEquals(response.jsonPath().getString("success"),"true","提交结果校验失败");
Assert.assertEquals(response.jsonPath().getString("responseStatus"),"4","失败状态校验失败");
}
@Test
public void 秒杀活动_今日活动结束秒杀失败测试(){
Response response = seckillService.ajaxSubmit2("24797",2720);
response.prettyPrint();
Assert.assertEquals(response.jsonPath().getString("success"),"true","提交结果校验失败");
Assert.assertEquals(response.jsonPath().getString("responseStatus"),"2","失败状态校验失败");
}
@Test
public void 秒杀活动_今日最后一天活动结束秒杀失败测试() throws Exception{
DateTime endDay = DateTime.now();
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd");
String endDayStr = formatter.print(endDay.getMillis())+" 00:00:00";
logger.info("\n结束时间为"+endDayStr);
Boolean modifyEndDay = jdbc.update("update seckill.duiba_seckill set date_end = ? where id = '892' \n",endDayStr);
Response response = seckillService.ajaxSubmit2("32461",3616);
response.prettyPrint();
Assert.assertEquals(response.jsonPath().getString("success"),"true","提交结果校验失败");
Assert.assertEquals(response.jsonPath().getString("responseStatus"),"3","失败状态校验失败");
}
@Test
public void 秒杀活动_秒杀日期之后秒杀失败测试(){
Response response = seckillService.ajaxSubmit2("32257",3616);
response.prettyPrint();
Assert.assertEquals(response.jsonPath().getString("success"),"true","提交结果校验失败");
Assert.assertEquals(response.jsonPath().getString("responseStatus"),"0","失败状态校验失败");
}
@Test
public void 秒杀活动_已秒杀过再次秒杀失败测试(){
Response response = seckillService.ajaxSubmit2("32062",3590);
response.prettyPrint();
Assert.assertEquals(response.jsonPath().getString("success"),"true","提交结果校验失败");
Assert.assertEquals(response.jsonPath().getString("responseStatus"),"5","失败状态校验失败");
}
@Test
public void 秒杀活动_积分不足秒杀失败测试(){
Response response = seckillService.ajaxSubmit2("32062",3086);
response.prettyPrint();
Assert.assertEquals(response.jsonPath().getString("success"),"true","提交结果校验失败");
Assert.assertEquals(response.jsonPath().getString("responseStatus"),"0","失败状态校验失败");
}
@Test
public void 秒杀活动_秒杀成功测试测试() throws Exception{
Map<String,String> user = new HashMap<>();
user = this.createUser();
Response response = seckillService.ajaxSubmit2("32062",Integer.valueOf(user.get("uid")));
response.prettyPrint();
Assert.assertEquals(response.jsonPath().getString("success"),"true","提交结果校验失败");
Assert.assertEquals(response.jsonPath().getString("responseStatus"),"7","失败状态校验失败");
String value = response.jsonPath().getString("url");
Response changeRes = given().cookies(authorization.dafuwengLogin(Integer.valueOf(user.get("uid")))).get("http://"+seckillHost+value);
changeRes.prettyPrint();
String title = MatcherString.getString(changeRes.asString(),"<title>(.*?)</title>",1);
String kindStatus = MatcherString.getString(changeRes.asString(),"\"kindStatus\":\"(.*?)\",",1);
for (int i=36;i >0;i--){
if (title.equals("等待中")){
Thread.sleep(3000);
changeRes = given().cookies(authorization.dafuwengLogin(Integer.valueOf(user.get("uid")))).get("http://"+seckillHost+value);
changeRes.prettyPrint();
}else if (kindStatus.equals("处理中")){
Thread.sleep(3000);
changeRes = given().cookies(authorization.dafuwengLogin(Integer.valueOf(user.get("uid")))).get("http://"+seckillHost+value);
changeRes.prettyPrint();
}else {
break;
}
}
Assert.assertEquals(String.valueOf(changeRes.getStatusCode()),"200","校验响应状态码失败");
logger.info("queueId="+value+",queryResponse的信息为"+ JSON.toJSONString(changeRes));
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"needcredits\":\"(.*?)\",",1),"50","校验所需积分失败");
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"kindStatus\":\"(.*?)\",",1),"待发货","校验exchangeStatusText失败");
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"addrName\":\"(.*?)\",",1),"qwj","校验addrName失败");
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"addrPhone\":\"(.*?)\",",1),"18143476563","校验addrPhone失败");
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"addrProvince\":\"(.*?)\",",1),"浙江省","校验addrProvince失败");
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"addrCity\":\"(.*?)\",",1),"杭州市","校验addrCity失败");
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"addrArea\":\"(.*?)\",",1),"西湖区","校验addrArea失败");
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"addrDetail\":\"(.*?)\",",1),"奖池花印","校验addrDetail失败");
this.clear(user.get("uid"),user.get("consumerId"));
}
public Map<String,String> createUser() throws Exception{
Map<String,String> map = new HashMap<>();
Response response = editManagerInfoService.createUser("qwj测试秒杀用户");
Map<String,Object> user = jdbc.findSimpleResult("select * from dafuweng.user where name = 'qwj测试秒杀用户' and app_id = '67'\n");
String uid = user.get("id").toString();
String url = "http://47.97.214.108/user/loginDuiba?uid=" + uid;
Response login = given().get(url);
Map<String,Object> consumer = jdbc.findSimpleResult("select * from new_consumer.consumer_0010 where partner_user_id =? and app_id = '18816'\n",uid);
String consumerId = consumer.get("id").toString();
Boolean res = jdbc.update("UPDATE new_consumer.consumer_0010 set addr_name = 'qwj' , addr_phone = '18143476563' ,addr_province = '浙江省' ,addr_city = '杭州市' " +
", addr_area = '西湖区' , addr_detail = '奖池花印' where partner_user_id = ? and app_id = '18816'\n",uid);
map.put("uid",uid);
map.put("consumerId",consumerId);
logger.info("用户信息为,uid="+uid+"consumerId="+consumerId);
return map;
}
public void clear(String uid,String comsumerId) throws Exception{
Boolean res = jdbc.update("delete from dafuweng.user where name = 'qwj测试秒杀用户' and app_id = '67'");
Boolean res1 = jdbc.update("delete from new_consumer.consumer_0010 where id = ?",comsumerId);
}
}
\ No newline at end of file
/**
* Copyright (C), 2015-2018
* FileName: 天天秒杀_秒杀活动兑换测试_AccessTest
* Author: qianwenjun
* Date: 2018/6/20 20:38
* Description:
*/
package http.cases.SeckillTest;
import base.DuibaLog;
import base.DuibaTestBase;
import com.alibaba.fastjson.JSON;
import http.service.Authorization;
import http.service.Manager.EditManagerInfoService;
import http.service.app.SeckillService;
import io.restassured.response.Response;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.test.context.ContextConfiguration;
import org.testng.Assert;
import utils.MatcherString;
import java.util.HashMap;
import java.util.Map;
import static io.restassured.RestAssured.given;
/**
* 〈〉
*
* @author qianwenjun
* @create 2018/6/20
* @since 1.0.0
*/
public class 天天秒杀_秒杀活动兑换消耗私有库存测试 extends DuibaTestBase {
@Autowired
SeckillService seckillService;
@Autowired
EditManagerInfoService editManagerInfoService;
@Value("${seckill.host}")
private String seckillHost;
@Autowired
Authorization authorization;
private DuibaLog logger = DuibaLog.getLogger();
// @Test
public void 秒杀活动_秒杀成功测试测试() throws Exception{
Map<String,String> user = new HashMap<>();
user = this.createUser();
Response response = seckillService.ajaxSubmit2("32243",Integer.valueOf(user.get("uid")));
response.prettyPrint();
Assert.assertEquals(response.jsonPath().getString("success"),"true","提交结果校验失败");
Assert.assertEquals(response.jsonPath().getString("responseStatus"),"7","成功状态校验失败");
String value = response.jsonPath().getString("url");
Response changeRes = given().cookies(authorization.dafuwengLogin(Integer.valueOf(user.get("uid")))).get("http://"+seckillHost+value);
changeRes.prettyPrint();
String title = MatcherString.getString(changeRes.asString(),"<title>(.*?)</title>",1);
for (int i=36;i >0;i--){
if (title.equals("等待中")){
Thread.sleep(3000);
changeRes = given().cookies(authorization.dafuwengLogin(Integer.valueOf(user.get("uid")))).get("http://"+seckillHost+value);
changeRes.prettyPrint();
}
}
Assert.assertEquals(String.valueOf(changeRes.getStatusCode()),"200","校验响应状态码失败");
logger.info("queueId="+value+",queryResponse的信息为"+ JSON.toJSONString(changeRes));
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"needcredits\":\"(.*?)\",",1),"100","校验所需积分失败");
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"kindStatus\":\"(.*?)\",",1),"待发货","校验exchangeStatusText失败");
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"addrName\":\"(.*?)\",",1),"qwj","校验addrName失败");
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"addrPhone\":\"(.*?)\",",1),"18143476563","校验addrPhone失败");
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"addrProvince\":\"(.*?)\",",1),"浙江省","校验addrProvince失败");
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"addrCity\":\"(.*?)\",",1),"杭州市","校验addrCity失败");
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"addrArea\":\"(.*?)\",",1),"西湖区","校验addrArea失败");
Assert.assertEquals(MatcherString.getString(changeRes.asString(),"\"addrDetail\":\"(.*?)\",",1),"奖池花印","校验addrDetail失败");
// this.clear(user.get("uid"),user.get("consumerId"));
}
public Map<String,String> createUser() throws Exception{
Map<String,String> map = new HashMap<>();
Response response = editManagerInfoService.createUser("qwj测试秒杀用户");
Map<String,Object> user = jdbc.findSimpleResult("select * from dafuweng.user where name = 'qwj测试秒杀用户' and app_id = '67'\n");
String uid = user.get("id").toString();
String url = "http://47.97.214.108/user/loginDuiba?uid=" + uid;
Response login = given().get(url);
Map<String,Object> consumer = jdbc.findSimpleResult("select * from new_consumer.consumer_0010 where partner_user_id =? and app_id = '18816'\n",uid);
String consumerId = consumer.get("id").toString();
Boolean res = jdbc.update("UPDATE new_consumer.consumer_0010 set addr_name = 'qwj' , addr_phone = '18143476563' ,addr_province = '浙江省' ,addr_city = '杭州市' " +
", addr_area = '西湖区' , addr_detail = '奖池花印' where partner_user_id = ? and app_id = '18816'\n",uid);
map.put("uid",uid);
map.put("consumerId",consumerId);
logger.info("用户信息为,uid="+uid+"consumerId="+consumerId);
return map;
}
public void clear(String uid,String comsumerId) throws Exception{
Boolean res = jdbc.update("delete from dafuweng.user where name = 'qwj测试秒杀用户' and app_id = '67'");
Boolean res1 = jdbc.update("delete from new_consumer.consumer_0010 where id = ?",comsumerId);
}
}
\ No newline at end of file
/**
* Copyright (C), 2015-2018
* FileName: 秒杀_秒杀商品详情测试_AccessTest
* Author: qianwenjun
* Date: 2018/5/31 19:19
* Description:
*/
package http.cases.SeckillTest;
import base.DuibaLog;
import base.DuibaTestBase;
import http.service.app.SeckillService;
import io.restassured.response.Response;
import org.joda.time.DateTime;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.testng.Assert;
import org.testng.annotations.Test;
import utils.MatcherString;
/**
* 〈〉
*
* @author qianwenjun
* @create 2018/5/31
* @since 1.0.0
*/
public class 秒杀_秒杀商品详情测试_AccessTest extends DuibaTestBase {
@Autowired
SeckillService seckillService;
private static DuibaLog logger = DuibaLog.getLogger();
private static final Integer uid_Nomal = 2709;
private static final Integer uid_LackIntgral = 3156;
private static final Integer uid_NoVip = 3280;
@Test
public void 秒杀详情_即将开始测试() {
//165199
Response response = seckillService.queryBtnStatus("165199",uid_Nomal);
response.prettyPrint();
//商品开抢时间:23:00~~23:59
if (!isSeckillTime(23,0,23,59)){
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeText\": \"(.*?)\",",1),"即将开始","按钮文案校验失败");
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeEnable\": (.*?),",1),"false","按钮是否可见校验失败");
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeStatus\": (\\d{1})",1),"7","按钮状态校验失败");
logger.info("校验详情信息成功:exchangeText="+MatcherString.getString(response.asString(),"\"exchangeText\": \"(.*?)\",",1)+
";exchangeStatus="+MatcherString.getString(response.asString(),"\"exchangeStatus\": (\\d{1})",1));
} else {
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeText\": \"(.*?)\",",1),"今日已结束","按钮文案校验失败");
}
}
@Test
public void 秒杀详情_马上兑换测试() {
//商品的开枪时间:1:00~~23:59
Response response = seckillService.queryBtnStatus("165818",uid_Nomal);
response.prettyPrint();
if (isSeckillTime(1,0,23,59)){
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeText\": \"(.*?)\",",1),"马上兑换","按钮文案校验失败");
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeEnable\": (.*?),",1),"true","按钮是否可见校验失败");
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeStatus\": (\\d{1})",1),"8","按钮状态校验失败");
logger.info("校验详情信息成功:exchangeText="+MatcherString.getString(response.asString(),"\"exchangeText\": \"(.*?)\",",1)+
";exchangeStatus="+MatcherString.getString(response.asString(),"\"exchangeStatus\": (\\d{1})",1));
}else {
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeText\": \"(.*?)\",",1),"即将开始","按钮文案校验失败");
}
}
@Test
public void 秒杀详情_今日结束测试() {
//商品的开枪时间:0:00~~0:59
Response response = seckillService.queryBtnStatus("165869",uid_Nomal);
response.prettyPrint();
logger.info("response的信息为"+response.asString());
if (!isSeckillTime(0,0,0,59)){
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeText\": \"(.*?)\",",1),"今日已结束","按钮文案校验失败");
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeEnable\": (.*?),",1),"false","按钮是否可见校验失败");
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeStatus\": (\\d{1})",1),"6","按钮状态校验失败");
logger.info("校验详情信息成功:exchangeText="+MatcherString.getString(response.asString(),"\"exchangeText\": \"(.*?)\",",1)+
";exchangeStatus="+MatcherString.getString(response.asString(),"\"exchangeStatus\": (\\d{1})",1));
}else {
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeText\": \"(.*?)\",",1),"马上兑换","按钮文案校验失败");
}
}
@Test
public void 秒杀详情_未登陆测试() {
Response response = seckillService.queryBtnStatus2("165869");
response.prettyPrint();
Assert.assertEquals(MatcherString.getString(response.asString(),"<title>(.*?)</title>",1),"请重新登陆","校验错误信息失败");
}
@Test
public void 秒杀详情_积分不够测试测试() {
//商品的开枪时间:0:30~~0:59
Response response = seckillService.queryBtnStatus("165818",uid_LackIntgral);
response.prettyPrint();
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeText\": \"(.*?)\",",1),"积分不足","按钮文案校验失败");
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeEnable\": (.*?),",1),"false","按钮是否可见校验失败");
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeStatus\": (\\d{2})",1),"15","按钮状态校验失败");
logger.info("校验详情信息成功:exchangeText="+MatcherString.getString(response.asString(),"\"exchangeText\": \"(.*?)\",",1)+
";exchangeStatus="+MatcherString.getString(response.asString(),"\"exchangeStatus\": (\\d{1})",1));
Response response1 = seckillService.queryBtnStatus("165818",uid_Nomal);
}
@Test
//待处理,autologin接口不带会员等级参数,会充置consumer表中的vip_level参数
public void 秒杀详情_会员等级不够测试测试() {
//商品的开枪时间:0:30~~0:59
Response response = seckillService.queryBtnStatus("165882",uid_NoVip);
response.prettyPrint();
Assert.assertEquals(MatcherString.getString(response.asString(),"\"isCanConsumerExchange\": (.*?),",1),"false","权限不够不可兑换校验失败");
Assert.assertEquals(MatcherString.getString(response.asString(),"\"limitRemark\": \"(.*?)\",",1),"lv3、lv2可兑。","limitRemark校验失败");
Assert.assertEquals(MatcherString.getString(response.asString(),"\"vipLimit\": (\\D{4})",1),"true","vipLimit校验失败");
logger.info("校验详情信息成功:vipLimit="+MatcherString.getString(response.asString(),"\"vipLimit\": (\\D{4})",1)+
";isCanConsumerExchange="+MatcherString.getString(response.asString(),"\"isCanConsumerExchange\": (.*?),",1)+
";limitRemark="+MatcherString.getString(response.asString(),"\"limitRemark\": \"(.*?)\",",1));
Response response1 = seckillService.queryBtnStatus("165882",uid_Nomal);
response1.prettyPrint();
}
@Test
public void 秒杀详情_达到兑换限制测试() {
Response response = seckillService.queryBtnStatus("168156",uid_Nomal);
response.prettyPrint();
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeText\": \"(.*?)\",",1),"已兑换","按钮文案校验失败");
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeEnable\": (.*?),",1),"false","按钮是否可见校验失败");
Assert.assertEquals(MatcherString.getString(response.asString(),"\"exchangeStatus\": (\\d{1})",1),"3","按钮状态校验失败");
Assert.assertEquals(MatcherString.getString(response.asString(),"\"lock\": (.*?),",1),"true","按钮状态校验失败");
logger.info("校验详情信息成功:exchangeText="+MatcherString.getString(response.asString(),"\"exchangeText\": \"(.*?)\",",1)+
";exchangeStatus="+MatcherString.getString(response.asString(),"\"exchangeStatus\": (\\d{1})",1));
}
public Boolean isSeckillTime(int startHour,int startTime,int endHour,int endTime) {
DateTime timeStart = DateTime.now().withHourOfDay(startHour).withMinuteOfHour(startTime).withSecondOfMinute(0);
DateTime timeEnd = DateTime.now().withHourOfDay(endHour).withMinuteOfHour(endTime).withSecondOfMinute(0);
Boolean result = timeStart.isBeforeNow()&&timeEnd.isAfterNow();
return result;
}
}
\ No newline at end of file
/**
* Copyright (C), 2015-2018
* FileName: 兑吧_优惠券秒杀商品兑换测试_AccessTest
* Author: qianwenjun
* Date: 2018/5/31 17:57
* Description: 开发者自有秒杀商品测试
*/
package http.cases.SeckillTest;
import base.DuibaLog;
import base.DuibaTestBase;
import com.alibaba.fastjson.JSON;
import http.service.Authorization;
import http.service.app.SeckillService;
import io.restassured.response.Response;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.testng.Assert;
import org.testng.annotations.Test;
import utils.MatcherString;
import java.util.Map;
/**
* 〈开发者自有秒杀商品测试〉
*
* @author qianwenjun
* @create 2018/5/31
* @since 1.0.0
*/
public class 秒杀商品_兑换异常库存不足测试_AccessTest extends DuibaTestBase {
@Autowired
SeckillService seckillService;
@Autowired
Authorization authorization;
private static DuibaLog logger = DuibaLog.getLogger();
private static final Integer uid_Nomal = 2709;
//167889
@Test
public void 自有秒杀优惠券兑换_库存不足测试(){
try {
Map<String,Object> itemStockResult = jdbc.findSimpleResult("select * from stock.tb_stock where stock_id =(select stock_id from goods.tb_goods_batch where gid = ?)",167889);
String itemTotalStock = itemStockResult.get("total_stock").toString();
String itemStock = itemStockResult.get("stock").toString();
logger.info("优惠券原有库存:"+itemTotalStock+",现在库存为:"+itemStock);
Response response = seckillService.exchange1("167889","undefined",uid_Nomal);
response.prettyPrint();
String queueId = response.jsonPath().getString("data.queueId");
Response queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
String title = MatcherString.getString(queryResponse.asString(),"<title>(.*?)</title>",1);
for (int i=36;i >0;i--){
if (title.equals("等待中")){
Thread.sleep(3000);
queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
}
}
logger.info("queueId="+queueId+",queryResponse的信息为"+ JSON.toJSONString(queryResponse));
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"<h2 class=\"tit\">(.*?)</h2>",1),"好可惜,没抢到","校验秒杀结果tit失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"<p class=\"info\">(.*?)</p>",1),"就差那么一点点啦,下次再早些出手哦!","校验秒杀结果info失败");
//清理take_order_queue_record表数据,防止连续兑换报错
Boolean tearResult = jdbc.update("delete from credits_dev.take_order_queue_record where queue_id = ?",queueId);
Boolean tearResult2 = jdbc.update("delete from credits_dev.take_order_queue_record\n");
} catch (Exception e) {
e.printStackTrace();
}
}
}
\ No newline at end of file
/**
* Copyright (C), 2015-2018
* FileName: 兑吧_优惠券秒杀商品兑换测试_AccessTest
* Author: qianwenjun
* Date: 2018/5/31 17:57
* Description: 开发者自有秒杀商品测试
*/
package http.cases.SeckillTest;
import com.alibaba.fastjson.JSON;
import com.duiba.qa.duiba.common.DuibaConfig;
import com.duiba.qa.duiba.common.DuibaTestBase;
import com.duiba.qa.duiba.service.Authorization;
import com.duiba.qa.duiba.service.app.SeckillService;
import com.duiba.qa.duiba.utils.MatcherString;
import com.duiba.qa.publics.util.DuibaLog;
import io.restassured.response.Response;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.testng.Assert;
import org.testng.annotations.Test;
/**
* 〈开发者自有秒杀商品测试〉
*
* @author qianwenjun
* @create 2018/5/31
* @since 1.0.0
*/
@ContextConfiguration(classes = DuibaConfig.class)
public class 秒杀商品_地址限制兑换异常测试_AccessTest extends DuibaTestBase {
@Autowired
SeckillService seckillService;
@Autowired
Authorization authorization;
private static DuibaLog logger = DuibaLog.getLogger();
private static final Integer uid_Nomal = 2709;
@Test
public void 秒杀商品兑换_地址兑换限制() {
try{
Response response = seckillService.exchange1("170157","undefined",uid_Nomal);
response.prettyPrint();
String queueId = response.jsonPath().getString("data.queueId");
Response queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
String title = MatcherString.getString(queryResponse.asString(),"<title>(.*?)</title>",1);
for (int i=36;i >0;i--){
if (title.equals("等待中")){
Thread.sleep(3000);
queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
}
}
logger.info("queueId="+queueId+",queryResponse的信息为"+ JSON.toJSONString(queryResponse));
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"<h2 class=\"tit\">(.*?)</h2>",1),"好可惜,没抢到","文案校验失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"<p class=\"info\">(.*?)</p>",1),"就差那么一点点啦,下次再早些出手哦!","提示信息校验失败");
} catch (Exception e) {
e.printStackTrace();
}
}
}
\ No newline at end of file
/**
* Copyright (C), 2015-2018
* FileName: 兑吧_优惠券秒杀商品兑换测试_AccessTest
* Author: qianwenjun
* Date: 2018/5/31 17:57
* Description: 开发者自有秒杀商品测试
*/
package http.cases.SeckillTest;
import base.DuibaLog;
import base.DuibaTestBase;
import com.alibaba.fastjson.JSON;
import http.service.Authorization;
import http.service.app.SeckillService;
import io.restassured.response.Response;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.testng.Assert;
import org.testng.annotations.Test;
import utils.MatcherString;
import java.util.Map;
/**
* 〈开发者自有秒杀商品测试〉
*
* @author qianwenjun
* @create 2018/5/31
* @since 1.0.0
*/
public class 秒杀商品_达到兑换限制异常测试_AccessTest extends DuibaTestBase {
@Autowired
SeckillService seckillService;
@Autowired
Authorization authorization;
private static DuibaLog logger = DuibaLog.getLogger();
private static final Integer uid_Nomal = 2709;
@Test
public void 自有实物达到兑换限制_兑换失败测试(){
try {
Map<String,Object> itemStockResult = jdbc.findSimpleResult("select * from stock.tb_stock where stock_id in (select stock_id from goods.app_item where id = ?)\n","168156");
String itemTotalStock = itemStockResult.get("total_stock").toString();
String itemStock = itemStockResult.get("stock").toString();
logger.info("优惠券原有库存:"+itemTotalStock+",现在库存为:"+itemStock);
Response response = seckillService.exchange1("168156","undefined",uid_Nomal);
response.prettyPrint();
String queueId = response.jsonPath().getString("data.queueId");
Response queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
String title = MatcherString.getString(queryResponse.asString(),"<title>(.*?)</title>",1);
for (int i=36;i >0;i--){
if (title.equals("等待中")){
Thread.sleep(3000);
queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
}
}
logger.info("queueId="+queueId+",queryResponse的信息为"+ JSON.toJSONString(queryResponse));
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"<h2 class=\"tit\">(.*?)</h2>",1),"好可惜,没抢到","校验秒杀结果tit失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"<p class=\"info\">(.*?)</p>",1),"就差那么一点点啦,下次再早些出手哦!","校验秒杀结果info失败");
//清理take_order_queue_record表数据,防止连续兑换报错
// Boolean tearResult = jdbc.update("delete from credits_dev.take_order_queue_record where queue_id = ?",queueId);
} catch (Exception e) {
e.printStackTrace();
}
}
}
\ No newline at end of file
/**
* Copyright (C), 2015-2018
* FileName: 兑吧_优惠券秒杀商品兑换测试_AccessTest
* Author: qianwenjun
* Date: 2018/5/31 17:57
* Description: 开发者自有秒杀商品测试
*/
package http.cases.SeckillTest;
import base.DuibaLog;
import base.DuibaTestBase;
import com.alibaba.fastjson.JSON;
import http.service.Authorization;
import http.service.app.SeckillService;
import io.restassured.response.Response;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.testng.Assert;
import org.testng.annotations.Test;
import utils.MatcherString;
import java.util.Map;
/**
* 〈开发者自有秒杀商品测试〉
*
* @author qianwenjun
* @create 2018/5/31
* @since 1.0.0
*/
public class 自有_优惠券秒杀商品兑换测试_AccessTest extends DuibaTestBase {
@Autowired
SeckillService seckillService;
@Autowired
Authorization authorization;
private static DuibaLog logger = DuibaLog.getLogger();
private static final Integer uid_Nomal = 2709;
@Test
public void 自有秒杀优惠券商品兑换测试(){
try {
Map<String,Object> itemStockResult = jdbc.findSimpleResult("select * from stock.tb_stock where stock_id =(select stock_id from goods.tb_goods_batch where gid = ?)",167879);
Long itemStock = Long.parseLong(itemStockResult.get("stock").toString());
Response response = seckillService.exchange1("167879","undefined",uid_Nomal);
response.prettyPrint();
String queueId = response.jsonPath().getString("data.queueId");
Response queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
String title = MatcherString.getString(queryResponse.asString(),"<title>(.*?)</title>",1);
String kind = MatcherString.getString(queryResponse.asString(),"\"kind\":\"(.*?)\",",1);
for (int i=36;i >0;i--){
if ((title.equals("等待中"))||(kind.equals("process"))){
Thread.sleep(3000);
queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
title = MatcherString.getString(queryResponse.asString(),"<title>(.*?)</title>",1);
kind = MatcherString.getString(queryResponse.asString(),"\"kind\":\"(.*?)\",",1);
}else {
break;
}
}
logger.info("queueId="+queueId+",queryResponse的信息为"+ JSON.toJSONString(queryResponse));
logger.info("response的结果信息为:"+"\nStatusCode="+String.valueOf(queryResponse.getStatusCode())+";kind="+kind+";type="+MatcherString.getString(queryResponse.asString(),"\"type\":\"(.*?)\",",1));
Assert.assertEquals(String.valueOf(queryResponse.getStatusCode()),"200","校验响应状态码失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"kind\":\"(.*?)\",",1),"success","校验kind失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"title\":\"(【.*?)\",",1),"【自动化】秒杀优惠券兑换-自有","校验title失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"validEndDate\":\"(.*?)\"}",1),"2020-12-31","校验validEndDate失败");
Assert.assertNotNull(MatcherString.getString(queryResponse.asString(),"\"code\":\"(.*?)\"}",1),"校验券码是否存在失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"actualPay\":\"(.*?)\",",1),"10积分","校验actualPay失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"type\":\"(.*?)\",",1),"coupon","校验type失败");
Map<String,Object> itemStockResult1 = jdbc.findSimpleResult("select * from stock.tb_stock where stock_id =(select stock_id from goods.tb_goods_batch where gid = ?)",167879);
String itemStock1 = itemStockResult1.get("stock").toString();
Assert.assertEquals(itemStock1,String.valueOf(itemStock-1),"校验库存失败");
//清理take_order_queue_record表数据,防止连续兑换报错
Boolean tearResult = jdbc.update("delete from credits_dev.take_order_queue_record where queue_id = ?",queueId);
Boolean tearResult2 = jdbc.update("delete from credits_dev.take_order_queue_record\n");
} catch (Exception e) {
e.printStackTrace();
}
}
}
\ No newline at end of file
/**
* Copyright (C), 2015-2018
* FileName: 兑吧_优惠券秒杀商品兑换测试_AccessTest
* Author: qianwenjun
* Date: 2018/5/31 17:57
* Description: 开发者自有秒杀商品测试
*/
package http.cases.SeckillTest;
import base.DuibaLog;
import base.DuibaTestBase;
import com.alibaba.fastjson.JSON;
import http.service.Authorization;
import http.service.app.SeckillService;
import io.restassured.response.Response;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.testng.Assert;
import org.testng.annotations.Test;
import utils.MatcherString;
import java.util.Map;
/**
* 〈开发者自有秒杀商品测试〉
*
* @author qianwenjun
* @create 2018/5/31
* @since 1.0.0
*/
public class 自有_实物秒杀商品兑换测试_AccessTest extends DuibaTestBase {
@Autowired
SeckillService seckillService;
@Autowired
Authorization authorization;
private static DuibaLog logger = DuibaLog.getLogger();
private static final Integer uid_Nomal = 2709;
@Test
public void 自有秒杀实物商品兑换测试() {
try {
Map<String,Object> itemStockResult = jdbc.findSimpleResult("select * from stock.tb_stock where stock_id in (select stock_id from goods.app_item where id = ?)\n","167880");
Long itemStock = Long.parseLong(itemStockResult.get("stock").toString());
Response response = seckillService.exchange1("167880","undefined",uid_Nomal);
response.prettyPrint();
String queueId = response.jsonPath().getString("data.queueId");
Response queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
String title = MatcherString.getString(queryResponse.asString(),"<title>(.*?)</title>",1);
String exchangeStatus = MatcherString.getString(queryResponse.asString(),"\"exchangeStatus\":\"(.*?)\",",1);
for (int i=36;i >0;i--){
if ((title.equals("等待中"))||(exchangeStatus.equals("process"))){
Thread.sleep(3000);
queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
title = MatcherString.getString(queryResponse.asString(),"<title>(.*?)</title>",1);
exchangeStatus = MatcherString.getString(queryResponse.asString(),"\"kind\":\"(.*?)\",",1);
}else {
break;
}
}
logger.info("response的结果信息为:"+"\nStatusCode="+String.valueOf(queryResponse.getStatusCode())+";exchangeStatus="+exchangeStatus);
Assert.assertEquals(String.valueOf(queryResponse.getStatusCode()),"200","校验响应状态码失败");
logger.info("queueId="+queueId+",queryResponse的信息为"+ JSON.toJSONString(queryResponse));
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"exchangeStatus\":\"(.*?)\",",1),"wait_ship","校验exchangeStatus失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"exchangeStatusText\":\"(.*?)\",",1),"待发货","校验exchangeStatusText失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"addrName\":\"(.*?)\",",1),"胡梦新","校验addrName失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"addrPhone\":\"(.*?)\",",1),"18258853242","校验addrPhone失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"addrProvince\":\"(.*?)\",",1),"浙江省","校验addrProvince失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"addrCity\":\"(.*?)\",",1),"杭州市","校验addrCity失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"addrArea\":\"(.*?)\",",1),"西湖区","校验addrArea失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"addrDetail\":\"(.*?)\",",1),"数娱大厦","校验addrDetail失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"actualPay\":\"(.*?)\"}",1),"20积分","校验actualPay失败");
// Thread.sleep(8000);
Map<String,Object> itemStockResult1 = jdbc.findSimpleResult("select * from stock.tb_stock where stock_id in (select stock_id from goods.app_item where id = ?)\n","167880");
String itemStock1 = itemStockResult.get("stock").toString();
// Assert.assertEquals(itemStock1,String.valueOf(itemStock-1),"校验库存失败");
//清理take_order_queue_record表数据,防止连续兑换报错
Boolean tearResult = jdbc.update("delete from credits_dev.take_order_queue_record where queue_id = ?",queueId);
Boolean tearResult2 = jdbc.update("delete from credits_dev.take_order_queue_record\n");
} catch (Exception e) {
e.printStackTrace();
}
}
}
\ No newline at end of file
/**
* Copyright (C), 2015-2018
* FileName: 兑吧_优惠券秒杀商品兑换测试_AccessTest
* Author: qianwenjun
* Date: 2018/5/31 17:57
* Description: 开发者自有秒杀商品测试
*/
package http.cases.SeckillTest;
import base.DuibaLog;
import base.DuibaTestBase;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import http.service.Authorization;
import http.service.app.SeckillService;
import io.restassured.response.Response;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.testng.Assert;
import org.testng.annotations.Test;
import utils.MatcherString;
import java.util.Map;
/**
* 〈开发者自有秒杀商品测试〉
*
* @author qianwenjun
* @create 2018/5/31
* @since 1.0.0
*/
public class 自有_虚拟商品秒杀商品兑换测试_AccessTest extends DuibaTestBase {
@Autowired
SeckillService seckillService;
@Autowired
Authorization authorization;
private static DuibaLog logger = DuibaLog.getLogger();
private static final Integer uid_Nomal = 2709;
@Test
public void 自有秒杀虚拟商品兑换测试() {
try {
Map<String,Object> itemStockResult = jdbc.findSimpleResult("select * from stock.tb_stock where stock_id in (select stock_id from goods.app_item where id = ?)\n","178072");
Long itemStock = Long.parseLong(itemStockResult.get("stock").toString());
Response response = seckillService.exchange1("178072","undefined",uid_Nomal);
response.prettyPrint();
String queueId = response.jsonPath().getString("data.queueId");
Response queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
String title = MatcherString.getString(queryResponse.asString(),"<title>(.*?)</title>",1);
String exchangeStatus = MatcherString.getString(queryResponse.asString(),"\"exchangeStatus\":\"(.*?)\",",1);
for (int i=36;i >0;i--){
if ((title.equals("等待中"))||(exchangeStatus.equals("process"))){
Thread.sleep(3000);
queryResponse = seckillService.queueQuery(queueId,uid_Nomal);
queryResponse.prettyPrint();
title = MatcherString.getString(queryResponse.asString(),"<title>(.*?)</title>",1);
exchangeStatus = MatcherString.getString(queryResponse.asString(),"\"kind\":\"(.*?)\",",1);
}else {
break;
}
}
logger.info("response的结果信息为:"+"\nStatusCode="+String.valueOf(queryResponse.getStatusCode())+";exchangeStatus="+exchangeStatus);
logger.info("exchangeStatusText="+MatcherString.getString(queryResponse.asString(),"\"exchangeStatusText\":\"(.*?)\",",1)+";type="+MatcherString.getString(queryResponse.asString(),"\"type\":\"(.*?)\",",1));
Assert.assertEquals(String.valueOf(queryResponse.getStatusCode()),"200","校验响应状态码失败");
logger.info("queueId="+queueId+",queryResponse的信息为"+ JSON.toJSONString(queryResponse));
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"exchangeStatus\":\"(.*?)\",",1),"success","校验exchangeStatus失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"exchangeStatusText\":\"(.*?)\",",1),"兑换成功","校验exchangeStatusText失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"type\":\"(.*?)\",",1),"virtual","校验type失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"exchangeSucDesc\":\"(.*?)\",",1),"【勿动】秒杀虚拟商品","校验exchangeSucDesc失败");
Assert.assertEquals(MatcherString.getString(queryResponse.asString(),"\"actualPay\":\"(.*?)\"}",1),"2积分","校验actualPay失败");
String orderId = MatcherString.getString(queryResponse.asString(),"\"orderId\":\"(.*?)\",",1);
// Thread.sleep(8000);
Map<String,Object> itemStockResult1 = jdbc.findSimpleResult("select * from stock.tb_stock where stock_id in (select stock_id from goods.app_item where id = ?)\n","178072");
String itemStock1 = itemStockResult.get("stock").toString();
// Assert.assertEquals(itemStock1,String.valueOf(itemStock-1),"校验库存失败");
Map<String,Object> res = jdbc.findSimpleResult("select * from orders_consumer.orders_0616 where id = ?\n",orderId);
logger.info("数据库订单信息为"+ JSONObject.toJSONString(res));
Assert.assertEquals(res.get("status"),"success","校验订单状态失败");
Assert.assertEquals(res.get("type"),"virtual","中奖奖品类型失败");
Assert.assertEquals(res.get("brief"),"【勿动】秒杀虚拟商品","brief校验失败");
// Assert.assertEquals(res.get("biz_params"),"qwjTest","校验虚拟商品标识符失败");
//清理take_order_queue_record表数据,防止连续兑换报错
Boolean tearResult = jdbc.update("delete from credits_dev.take_order_queue_record where queue_id = ?",queueId);
Boolean tearResult2 = jdbc.update("delete from credits_dev.take_order_queue_record\n");
} catch (Exception e) {
e.printStackTrace();
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment