Commit ad51b4a2 authored by Su-Yi's avatar Su-Yi

更新网络框架、钉钉机器人、名片

parent ba57991d
......@@ -21,7 +21,6 @@ public class Home {
public void setUp() {
// 代理人 cookies
network.agentCookies.put("tku","3wSM7Cd4wsesMcuzVhBQVGVupkmB3tT1JHyRbv9sK6ts7f6P67rmuygUqGfPc2Xd9YduvdByMocmpuzNMzKKWd48");
network.agentCookies.put("acw_tc","76b20ff215756198852864366e248d9e6bfb989ae8f073e81a05f23e6ef703");
network.agentHeaders.put("Content-Type","application/json");
}
......
......@@ -21,7 +21,7 @@ public class Pay {
@BeforeClass
public void setUp() {
// 代理人 cookies
network.agentCookies.put("tku","T3gM31f18jAXAwJJQPrjuY6xCJQThg3dXxpzkv8X5w3oZZn5yXB41EQad3CuY5A8USk26gxjQvUn7hWekU");
network.agentCookies.put("tku","T3gM31f18j8w3o5y1iEkAGkGxfNgri1yZC1Qix9Y8JawhrzhpZMDhgTzDvhzXSbagbXZxA8AYCbxLPG4SG");
network.agentHeaders.put("Content-Type","application/json");
}
......@@ -66,9 +66,8 @@ public class Pay {
payParams.put("oaId","1");
payParams.put("paySource","2");
payParams.put("sellerFrom","");
String payJson = JSONObject.toJSONString(payParams);
Response orderAppId = network.PostResponse(payJson,"/kjy/order/create");
Response orderAppId = network.postResponse(payParams,"/kjy/order/create");
String appId = orderAppId.jsonPath().getString("data.appId");
Assert.assertEquals(appId,"wxcb8c36279dd7dff2","拉起支付:拉起微信支付失败"); //判断返回的微信调起参数中appId是否正确
......@@ -83,8 +82,7 @@ public class Pay {
payParams.put("oaId","1");
payParams.put("paySource","2");
payParams.put("sellerFrom","");
String payJson = JSONObject.toJSONString(payParams);
Response orderAppId = network.PostResponse(payJson,"/kjy/order/create");
Response orderAppId = network.postResponse(payParams,"/kjy/order/create");
String tradeNo = orderAppId.jsonPath().getString("data.tradeNo");
......@@ -111,9 +109,11 @@ public class Pay {
int changeVersion = userVersion == 1 ? 2 : 1; // 判断当前开启的版本,如果当前版本是1,则改为2,反之;
//切换版本
String changeUserVersionJson = "{\"targetVersion\":" + changeVersion + "}";
Response resultResponse = network.PostResponse(changeUserVersionJson,"/kjy/mp/version/exchange");
Map<String, Object> versionParams = new HashMap<String, Object>();
versionParams.put("targetVersion",changeVersion);
Response resultResponse = network.postResponse(versionParams,"/kjy/mp/version/exchange");
String result = resultResponse.jsonPath().getString("desc");
Assert.assertEquals(result,"OK","会员类型切换:切换失败"); //判断返回的微信调起参数中appId是否正确
......@@ -130,7 +130,7 @@ public class Pay {
// 绑定一个上级为保险版的会员,scId和inviterSid可以在用户分享的链接里拿到
Map<String, Object> distributeParams = new HashMap<String, Object>();
distributeParams.put("scId","Kj21OTk0MTU"); //文章ID: 文章转化访客时,传此参数
distributeParams.put("inviterSid","Kj21MTQ4OTU"); //销售ID: 会员邀请好友付费时,传此参数
distributeParams.put("inviterSid","Kj21MTQ4OTU"); //销售ID:1861加密后 会员邀请好友付费时,传此参数
distributeParams.put("fromStr",6); //文章来源: 6文章访客转化 1会员邀请
distributeParams.put("accessSource",12); //支付来源:客集集
Response distributeResponse = network.getResponse(distributeParams,"/kjy/sp/visitorPayment/distribute");
......@@ -171,9 +171,8 @@ public class Pay {
payParams.put("oaId","1");
payParams.put("paySource","2");
payParams.put("sellerFrom","");
String payJson = JSONObject.toJSONString(payParams);
Response orderAppId = network.PostResponse(payJson,"/kjy/order/create");
Response orderAppId = network.postResponse(payParams,"/kjy/order/create");
String appId = orderAppId.jsonPath().getString("data.appId");
Assert.assertEquals(appId,"wxcb8c36279dd7dff2","拉起支付:拉起微信支付失败"); //判断返回的微信调起参数中appId是否正确
}
......@@ -199,8 +198,7 @@ public class Pay {
payParams.put("oaId","1");
payParams.put("paySource","2");
payParams.put("sellerFrom","");
String payJson = JSONObject.toJSONString(payParams);
Response orderAppId = network.PostResponse(payJson,"/kjy/order/create");
Response orderAppId = network.postResponse(payParams,"/kjy/order/create");
String tradeNo = orderAppId.jsonPath().getString("data.tradeNo");
......@@ -223,8 +221,10 @@ public class Pay {
int changeVersion = userVersion == 1 ? 2 : 1; // 判断当前开启的版本,如果当前版本是1,则改为2,反之;
//切换版本
String changeUserVersionJson = "{\"targetVersion\":" + changeVersion + "}";
Response resultResponse = network.PostResponse(changeUserVersionJson,"/kjy/mp/version/exchange");
//切换版本
Map<String, Object> versionParams = new HashMap<String, Object>();
versionParams.put("targetVersion",changeVersion);
Response resultResponse = network.postResponse(versionParams,"/kjy/mp/version/exchange");
String result = resultResponse.jsonPath().getString("desc");
Assert.assertEquals(result,"OK","会员类型切换:切换失败"); //判断返回的微信调起参数中appId是否正确
......
......@@ -15,35 +15,167 @@ import java.util.Map;
public class SellerCard {
private NetworkOperation network = new NetworkOperation();
private String scid = "";
private String sellerId = "";
@BeforeClass
public void setUp() {
// 代理人 cookies
network.agentCookies.put("tku","T3gM31f18jAWvBFkQfN29cBnRJPVhN64pvvU1T2tkuQe24NggZnSnByQ8yncFGVAxui9GZ4veufsYPCcG2");
// network.agentCookies.put("acw_tc","76b20fec15850493922213781e346d81600bc01e6019c96a7e36d6b829aef3");
network.agentCookies.put("tku","T3gM31f18j8w3o5y1iEkAGkGxfNgri1yZC1Qix9Y8JawhrzhpZMDhgTzDvhzXSbagbXZxA8AYCbxLPG4SG");
network.agentHeaders.put("Content-Type","application/json");
}
@Test (description = "详情页顶部",priority = 1) //priorty 方法执行优先级
public void 详情页顶部() throws IOException {
Response topDetailResponse = network.getResponse("/kjy/mp/sellerCardV5/topOfDetail");
String name = topDetailResponse.jsonPath().getString("data.sellerName");
Assert.assertEquals(name,"小葡萄","详情页顶部:获取用户信息失败!");
@Test (description = "获取用户版本",priority = 1) //priorty 方法执行优先级
public void 获取用户版本() throws IOException {
Map<String, Object> params = new HashMap<String, Object>();
params.put("t",System.currentTimeMillis());
Response response = network.getResponse(params,"/kjy/mp/version/info");
int userVersion = response.jsonPath().getInt("data.find {it.openType == 1}.userVersion"); // 找出开启状态的版本类型
Assert.assertEquals(userVersion,1,"会员类型版本判断:判断错误,此版本为保险版");
}
@Test (description = "是否关注红号-弹框",priority = 2) //priorty 方法执行优先级
public void 是否关注红号() throws IOException {
Response response = network.getResponse("/kjy/mp/seller/isVipSubscribe");
boolean isVip = response.jsonPath().getBoolean("data.vip");
Assert.assertEquals(isVip,false,"vip弹框判断错误");
}
@Test (description = "头部展示",priority = 3)
public void 头部展示() throws IOException{
//获取信息
Response response = network.getResponse("/kjy/mp/sellerCardV5/topOfDetail");
scid = response.jsonPath().getString("data.scid");
sellerId = response.jsonPath().getString("data.sellerId");
String sellerName = response.jsonPath().getString("data.sellerName");
Assert.assertEquals(sellerName,"Su Yi","获取用户失败");
//修改用户信息
Map<String, Object> params = new HashMap<String, Object>();
params.put("sellerName","测试123");
params.put("phoneNumber","13012341234");
params.put("wechatNumber","wx123456");
params.put("address","杭州数娱大厦(文一西路98号)");
params.put("addressLocation","120.112204,30.287785");
params.put("avatarStyle",3);
Response editRsponse = network.postResponse(params,"/kjy/mp/sellerCard/editBaseInfo");
//重新获取用户信息
response = network.getResponse("/kjy/mp/sellerCardV5/topOfDetail");
sellerName = response.jsonPath().getString("data.sellerName");
String phoneNumber = response.jsonPath().getString("data.phoneNumber");
String wechatNumber = response.jsonPath().getString("data.wechatNumber");
String address = response.jsonPath().getString("data.address");
int avatarStyle = response.jsonPath().getInt("data.avatarStyle");
Assert.assertEquals(sellerName,"测试123","修改昵称失败");
Assert.assertEquals(phoneNumber,"13012341234","修改手机号失败");
Assert.assertEquals(wechatNumber,"wx123456","修改微信号成功");
Assert.assertEquals(address,"杭州数娱大厦(文一西路98号)","修改地址失败");
Assert.assertEquals(avatarStyle,3,"修改地址成功");
}
@Test (description = "专业介绍",priority = 4)
public void 专业介绍() throws IOException {
Map<String, Object> params = new HashMap<String, Object>();
params.put("scid",scid);
Response response = network.getResponse(params,"/kjy/mp/sellerCardV5/personalProfile");
String intro = response.jsonPath().getString("data.personalIntro"); //个人介绍
int exprLength = response.jsonPath().getInt("data.exprLength"); //工作年限
Assert.assertEquals(intro,"我在行业内深耕多年,经验丰富,具备过硬的专业素质,深受客户喜爱和支持。","个人介绍-获取介绍不匹配");
Assert.assertEquals(exprLength,0,"个人介绍-获取工作年限不匹配");
//修改工作年限和个人介绍
Map<String, Object> baseParams = new HashMap<String, Object>();
baseParams.put("exprLength",2);
baseParams.put("personalIntro","我在行业内整挺好!");
Response baseResponse = network.postResponse(baseParams,"/kjy/mp/sellerCard/editBaseInfo");
//修改擅长专业
Map<String, Object> personalParams = new HashMap<String, Object>();
personalParams.put("goodAtCustom","逼逼赖赖,叽叽歪歪");
personalParams.put("goodAtDefault","");
Response personalResponse = network.postResponse(personalParams,"/kjy/mp/sellerCard/editMajorGoodAuth");
//查看修改后的专业介绍
response = network.getResponse(params,"/kjy/mp/sellerCardV5/personalProfile");
intro = response.jsonPath().getString("data.personalIntro"); //个人介绍
exprLength = response.jsonPath().getInt("data.exprLength"); //工作年限
Assert.assertEquals(intro,"我在行业内整挺好!","修改个人介绍失败");
Assert.assertEquals(exprLength,2,"修改工作年限失败");
}
@Test (description = "个人介绍",priority = 2)
public void 个人介绍() throws IOException{
//拿到用户scid
Response topDetailResponse = network.getResponse("/kjy/mp/sellerCardV5/topOfDetail");
String scid = topDetailResponse.jsonPath().getString("data.scid");
@Test (description = "客户评价",priority = 6) //priorty 方法执行优先级
public void 客户评价() throws IOException {
Map<String, Object> params = new HashMap<String, Object>();
params.put("scid",scid);
params.put("pageIndex",1);
params.put("pageSize",6);
params.put("appraiseState",1);
Response response = network.getResponse(params,"/kjy/mp/sellerCardV5/appraiseList");
int totalCount = response.jsonPath().getInt("data.appraiseList.totalCount");
Assert.assertEquals(totalCount,0,"获取用户评价失败");
}
@Test (description = "投保实录",priority = 7) //priorty 方法执行优先级
public void 投保实录() throws IOException {
Map<String, Object> params = new HashMap<String, Object>();
params.put("scid",scid);
Response personalProfileResponse = network.getResponse(params,"/kjy/mp/sellerCardV5/personalProfile");
String profile = personalProfileResponse.jsonPath().getString("data.personalIntro");
Assert.assertEquals(profile,"我在行业内深耕多年,经验丰富,具备过硬的专业素质,深受客户喜爱和支持。","个人介绍:获取介绍失败");
params.put("pageIndex",1);
params.put("pageSize",6);
params.put("appraiseState",1);
Response response = network.getResponse(params,"/kjy/mp/sellerCardV5/appraiseList");
int totalCount = response.jsonPath().getInt("data.appraiseList.totalCount");
Assert.assertEquals(totalCount,0,"获取用户评价失败");
}
@Test (description = "获奖记录",priority = 8) //priorty 方法执行优先级
public void 获奖记录() throws IOException {
Map<String, Object> params = new HashMap<String, Object>();
params.put("scid",scid);
Response response = network.getResponse(params,"/kjy/mp/sellerCardV5/honorList");
boolean IDAOpen = response.jsonPath().getBoolean("data.authenticationV5[0].open");
boolean MDRTOpen = response.jsonPath().getBoolean("data.authenticationV5[1].open");
boolean CMFOpen = response.jsonPath().getBoolean("data.authenticationV5[2].open");
Assert.assertFalse(IDAOpen,"IDA认证匹配错误");
Assert.assertFalse(MDRTOpen,"MDRT认证匹配错误");
Assert.assertFalse(CMFOpen,"CMF认证匹配错误");
//开启IDA认证
Map<String, Object> configParams = new HashMap<String, Object>();
configParams.put("configKey","CARD_HONOR_AUTH_3");
configParams.put("configValue",true);
Response configResponse = network.postResponse(configParams,"/kjy/mp/sellerConfig/editConfig");
//重新查询获奖记录
response = network.getResponse(params,"/kjy/mp/sellerCardV5/honorList");
IDAOpen = response.jsonPath().getBoolean("data.authenticationV5[0].open");
MDRTOpen = response.jsonPath().getBoolean("data.authenticationV5[1].open");
CMFOpen = response.jsonPath().getBoolean("data.authenticationV5[2].open");
Assert.assertTrue(IDAOpen,"修改后-IDA认证匹配错误");
Assert.assertFalse(MDRTOpen,"修改后-MDRT认证匹配错误");
Assert.assertFalse(CMFOpen,"修改后-CMF认证匹配错误");
}
@Test (description = "精彩分享",priority = 9) //priorty 方法执行优先级
public void 精彩分享() throws IOException {
Map<String, Object> params = new HashMap<String, Object>();
params.put("sellerId",sellerId);
params.put("pageIndex",1);
params.put("pageSize",30);
Response response = network.getResponse(params,"/kjy/mp/chat/sellerContentHistory");
// int totalCount = response.jsonPath().getInt("data.totalCount");
// Assert.assertEquals(totalCount,0,"获取分享失败");
String contentId = response.jsonPath().getString("data.list[0].contentId");
Assert.assertEquals(contentId,"Kj21NTgxMjc","获取分享失败");
}
}
......@@ -36,7 +36,7 @@ public class NetworkOperation {
private static String host = "https://kjj.m.duibatest.com.cn"; //测试环境
//钉钉机器人域名
private static String dingtalkPath = "https://oapi.dingtalk.com/robot/send?access_token=f63c9cb36e89dd68e9af82d926933b3afc6544e57b23a3a55ed5b3b772d5e8d2";
private static String dingtalkPath = "https://oapi.dingtalk.com/robot/send?access_token=e4b7d997fb9f90b17672dcdb9c9922d52c59f741b82081a368f4d3c305c1afcd";
// get 不带参请求
public Response getResponse(String path) {
......@@ -56,7 +56,7 @@ public class NetworkOperation {
}
// post 不帶参请求
public Response PostResponse(String path) {
public Response postResponse(String path) {
return given()
.cookies(agentCookies)
.headers(agentHeaders)
......@@ -64,7 +64,8 @@ public class NetworkOperation {
}
// post 带参请求
public Response PostResponse(String jsonStr, String path) {
public Response postResponse(Map<String, Object> params, String path) {
String jsonStr = JSONObject.toJSONString(params);
return given()
.cookies(agentCookies)
.headers(agentHeaders)
......@@ -74,7 +75,8 @@ public class NetworkOperation {
}
// post 带参请求
public Response dingTalkRobot(String jsonStr) {
public Response dingTalkRobot(Map<String, Object> params) {
String jsonStr = JSONObject.toJSONString(params);
dingTalkHeaders.put("Content-Type","application/json;charset=utf-8");
return given()
......
......@@ -2,17 +2,28 @@ package com.kjj.qa.utils;
import com.kjj.qa.services.NetworkOperation;
import java.util.HashMap;
import java.util.Map;
public class DingTalkUtil {
//通过钉钉机器人发送消息到钉钉群中
public static void sendVal(String context)throws Exception{
context = context+"报告地址:http://10.254.187.25/view/kjj_test/job/kejiji_interface/ws/test-output/report.html";
String entityString ="{'msgtype': 'text', 'text': {'content': '【测试结果】\n"+context+"'}}";
//测试结果
context = "【测试结果】\n"
+ context
+ "报告地址: http://10.254.187.25/view/kjj_test/job/kejiji_interface/ws/test-output/report.html";
System.out.println(entityString);
Map<String, Object> contentParams = new HashMap<String, Object>();
contentParams.put("content",context);
//钉钉机器人消息体
Map<String, Object> params = new HashMap<String, Object>();
params.put("msgtype","text");
params.put("text",contentParams);
// System.out.println(params);
NetworkOperation network = new NetworkOperation();
network.dingTalkRobot(entityString); //发起请求
network.dingTalkRobot(params); //发起dingding机器人通知
}
......
package com.kjj.qa.utils;
import com.kjj.qa.services.NetworkOperation;
public final class KjyUtil {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="客集集-测试结果" verbose="1" thread-count="3">
<test preserve-order="true" name="首页" >
<!-- <test preserve-order="true" name="首页" >-->
<!-- <classes>-->
<!-- <class name="com.kjj.qa.cases.Home"/>-->
<!-- </classes>-->
<!-- </test>-->
<test preserve-order="true" name="支付" >
<classes>
<class name="com.kjj.qa.cases.Home"/>
<class name="com.kjj.qa.cases.Pay"/>
</classes>
</test>
<test preserve-order="true" name="支付" >
<test preserve-order="true" name="名片" >
<classes>
<class name="com.kjj.qa.cases.Pay"/>
<class name="com.kjj.qa.cases.SellerCard"/>
</classes>
</test>
<!-- <test preserve-order="true" name="名片" >-->
<!-- <classes>-->
<!-- <class name="com.kjj.qa.cases.SellerCard"/>-->
<!-- </classes>-->
<!-- </test>-->
<!-- 监听器-->
<listeners>
<listener class-name="com.kjj.qa.config.ExtentTestNGIReporterListener"/>
......
......@@ -49,7 +49,7 @@
<ul id='nav-mobile' class='right hide-on-med-and-down nav-right'>
<li>
<a href='#!'>
<span class='label suite-start-time blue darken-3'>Apr 26, 2020 02:54:24 PM</span>
<span class='label suite-start-time blue darken-3'>Apr 27, 2020 05:12:44 PM</span>
</a>
</li>
<li>
......@@ -89,8 +89,8 @@
</a>
<ul id='category-toggle' class='dropdown-content'>
<li><a href='#'>客集集-测试结果</a></li>
<li><a href='#'>首页</a></li>
<li><a href='#'>支付</a></li>
<li><a href='#'>名片</a></li>
<li class='divider'></li>
<li class='clear'><a href='#!' clear='true'>Clear Filters</a></li>
</ul>
......@@ -138,10 +138,10 @@
<canvas id='parent-analysis' width='100' height='80'></canvas>
</div>
<div class='block text-small'>
<span class='tooltipped' data-position='top' data-tooltip='55.556%'><span class='strong'>5</span> test(s) passed</span>
<span class='tooltipped' data-position='top' data-tooltip='43.75%'><span class='strong'>7</span> test(s) passed</span>
</div>
<div class='block text-small'>
<span class='strong tooltipped' data-position='top' data-tooltip='44.444%'>4</span> test(s) failed, <span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> others
<span class='strong tooltipped' data-position='top' data-tooltip='56.25%'>9</span> test(s) failed, <span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> others
</div>
</div>
</div>
......@@ -153,10 +153,10 @@
<canvas id='child-analysis' width='100' height='80'></canvas>
</div>
<div class='block text-small'>
<span class='tooltipped' data-position='top' data-tooltip='55.556%'><span class='strong'>5</span> step(s) passed</span>
<span class='tooltipped' data-position='top' data-tooltip='43.75%'><span class='strong'>7</span> step(s) passed</span>
</div>
<div class='block text-small'>
<span class='strong tooltipped' data-position='top' data-tooltip='44.444%'>4</span> step(s) failed, <span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> others
<span class='strong tooltipped' data-position='top' data-tooltip='56.25%'>9</span> step(s) failed, <span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> others
</div>
</div>
</div>
......@@ -171,38 +171,346 @@
<ul id='test-collection' class='test-collection'>
<li class='test displayed active has-leaf pass' status='pass' bdd='false' test-id='1'>
<li class='test displayed active has-leaf fail' status='fail' bdd='false' test-id='1'>
<div class='test-heading'>
<span class='test-name'>客集集-测试结果 : 首页</span>
<span class='test-time'>Apr 26, 2020 02:54:24 PM</span>
<span class='test-status right pass'>pass</span>
<span class='test-name'>客集集-测试结果 : 支付</span>
<span class='test-time'>Apr 27, 2020 05:12:44 PM</span>
<span class='test-status right fail'>fail</span>
</div>
<div class='test-content hide'>
<div class='test-time-info'>
<span class='label start-time'>Apr 26, 2020 02:54:24 PM</span>
<span class='label end-time'>Apr 26, 2020 02:54:28 PM</span>
<span class='label time-taken grey lighten-1 white-text'>0h 0m 4s+321ms</span>
<span class='label start-time'>Apr 27, 2020 05:12:44 PM</span>
<span class='label end-time'>Apr 27, 2020 05:12:55 PM</span>
<span class='label time-taken grey lighten-1 white-text'>0h 0m 10s+591ms</span>
</div>
<div class='test-desc'>Pass: 1 ; Fail: 0 ; Skip: 0 ; </div>
<div class='test-desc'>Pass: 4 ; Fail: 4 ; Skip: 0 ; </div>
<div class='test-attributes'>
<div class='category-list'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>首页</span>
<span class='category label white-text'>支付</span>
</div>
</div>
<ul class='collapsible node-list' data-collapsible='accordion'>
<li class='node level-1 leaf pass' status='pass' test-id='2'>
<li class='node level-1 leaf fail' status='fail' test-id='2'>
<div class='collapsible-header'>
<div class='node-name'>默认付费_付费页</div>
<span class='node-time'>Apr 27, 2020 05:12:44 PM</span>
<span class='node-duration'>0h 0m 12s+165ms</span>
<span class='test-status right fail'>fail</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='fail'>
<td class='status fail' title='fail' alt='fail'><i class='material-icons'>cancel</i></td>
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'><pre>java.lang.AssertionError: 会员类型版本判断:判断错误,此版本为保险版 expected [1] but found [2]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:370)
at com.kjj.qa.cases.Pay.默认付费_付费页(Pay.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
at org.testng.SuiteRunner.run(SuiteRunner.java:254)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:73)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
</pre></td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf fail' status='fail' test-id='3'>
<div class='collapsible-header'>
<div class='node-name'>默认付费_切换为保险版会员类型并成功付款</div>
<span class='node-time'>Apr 27, 2020 05:12:52 PM</span>
<span class='node-duration'>0h 0m 4s+684ms</span>
<span class='test-status right fail'>fail</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='fail'>
<td class='status fail' title='fail' alt='fail'><i class='material-icons'>cancel</i></td>
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'><pre>java.lang.AssertionError: 会员类型切换:切换失败 expected [OK] but found [用户切换失败,请稍后再试]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:176)
at com.kjj.qa.cases.Pay.默认付费_切换为保险版会员类型并成功付款(Pay.java:118)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
at org.testng.SuiteRunner.run(SuiteRunner.java:254)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:73)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
</pre></td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf fail' status='fail' test-id='4'>
<div class='collapsible-header'>
<div class='node-name'>分销码_付费页</div>
<span class='node-time'>Apr 27, 2020 05:12:52 PM</span>
<span class='node-duration'>0h 0m 4s+221ms</span>
<span class='test-status right fail'>fail</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='fail'>
<td class='status fail' title='fail' alt='fail'><i class='material-icons'>cancel</i></td>
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'><pre>java.lang.AssertionError: 获取付费价格:价格不是486 expected [486] but found [586]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:176)
at com.kjj.qa.cases.Pay.分销码_付费页(Pay.java:155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
at org.testng.SuiteRunner.run(SuiteRunner.java:254)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:73)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
</pre></td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf fail' status='fail' test-id='5'>
<div class='collapsible-header'>
<div class='node-name'>分销码_切换为保险版会员类型并成功付款</div>
<span class='node-time'>Apr 27, 2020 05:12:55 PM</span>
<span class='node-duration'>0h 0m 1s+872ms</span>
<span class='test-status right fail'>fail</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='fail'>
<td class='status fail' title='fail' alt='fail'><i class='material-icons'>cancel</i></td>
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'><pre>java.lang.AssertionError: 会员类型切换:切换失败 expected [OK] but found [用户切换失败,请稍后再试]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:176)
at com.kjj.qa.cases.Pay.分销码_切换为保险版会员类型并成功付款(Pay.java:229)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
at org.testng.SuiteRunner.run(SuiteRunner.java:254)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:73)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
</pre></td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='6'>
<div class='collapsible-header'>
<div class='node-name'>JSSDK</div>
<span class='node-time'>Apr 26, 2020 02:54:24 PM</span>
<span class='node-duration'>0h 0m 10s+674ms</span>
<div class='node-name'>默认付费_待支付</div>
<span class='node-time'>Apr 27, 2020 05:12:50 PM</span>
<span class='node-duration'>0h 0m 6s+389ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>首页</span>
<span class='category label white-text'>支付</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='7'>
<div class='collapsible-header'>
<div class='node-name'>默认付费_取消支付</div>
<span class='node-time'>Apr 27, 2020 05:12:51 PM</span>
<span class='node-duration'>0h 0m 5s+382ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='8'>
<div class='collapsible-header'>
<div class='node-name'>分销码_待支付</div>
<span class='node-time'>Apr 27, 2020 05:12:53 PM</span>
<span class='node-duration'>0h 0m 3s+447ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
......@@ -216,7 +524,39 @@
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>2:54:34 PM</td>
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='9'>
<div class='collapsible-header'>
<div class='node-name'>分销码_取消支付</div>
<span class='node-time'>Apr 27, 2020 05:12:54 PM</span>
<span class='node-duration'>0h 0m 2s+644ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
......@@ -229,38 +569,38 @@
</li>
<li class='test displayed active has-leaf fail' status='fail' bdd='false' test-id='3'>
<li class='test displayed active has-leaf fail' status='fail' bdd='false' test-id='10'>
<div class='test-heading'>
<span class='test-name'>客集集-测试结果 : 支付</span>
<span class='test-time'>Apr 26, 2020 02:54:28 PM</span>
<span class='test-name'>客集集-测试结果 : 名片</span>
<span class='test-time'>Apr 27, 2020 05:12:55 PM</span>
<span class='test-status right fail'>fail</span>
</div>
<div class='test-content hide'>
<div class='test-time-info'>
<span class='label start-time'>Apr 26, 2020 02:54:28 PM</span>
<span class='label end-time'>Apr 26, 2020 02:54:34 PM</span>
<span class='label time-taken grey lighten-1 white-text'>0h 0m 6s+297ms</span>
<span class='label start-time'>Apr 27, 2020 05:12:55 PM</span>
<span class='label end-time'>Apr 27, 2020 05:12:56 PM</span>
<span class='label time-taken grey lighten-1 white-text'>0h 0m 1s+486ms</span>
</div>
<div class='test-desc'>Pass: 4 ; Fail: 4 ; Skip: 0 ; </div>
<div class='test-desc'>Pass: 3 ; Fail: 5 ; Skip: 0 ; </div>
<div class='test-attributes'>
<div class='category-list'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
<span class='category label white-text'>名片</span>
</div>
</div>
<ul class='collapsible node-list' data-collapsible='accordion'>
<li class='node level-1 leaf fail' status='fail' test-id='4'>
<li class='node level-1 leaf fail' status='fail' test-id='11'>
<div class='collapsible-header'>
<div class='node-name'>默认付费_付费页</div>
<span class='node-time'>Apr 26, 2020 02:54:28 PM</span>
<span class='node-duration'>0h 0m 6s+389ms</span>
<div class='node-name'>获取用户版本</div>
<span class='node-time'>Apr 27, 2020 05:12:55 PM</span>
<span class='node-duration'>0h 0m 1s+641ms</span>
<span class='test-status right fail'>fail</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
<span class='category label white-text'>名片</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
......@@ -274,13 +614,13 @@
<tbody>
<tr class='log' status='fail'>
<td class='status fail' title='fail' alt='fail'><i class='material-icons'>cancel</i></td>
<td class='timestamp'>2:54:34 PM</td>
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'><pre>java.lang.AssertionError: 会员类型版本判断:判断错误,此版本为保险版 expected [1] but found [2]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:370)
at com.kjj.qa.cases.Pay.默认付费_付费页(Pay.java:47)
at com.kjj.qa.cases.SellerCard.获取用户版本(SellerCard.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
......@@ -311,17 +651,17 @@
</div>
</div>
</li>
<li class='node level-1 leaf fail' status='fail' test-id='5'>
<li class='node level-1 leaf fail' status='fail' test-id='12'>
<div class='collapsible-header'>
<div class='node-name'>默认付费_切换为保险版会员类型并成功付款</div>
<span class='node-time'>Apr 26, 2020 02:54:30 PM</span>
<span class='node-duration'>0h 0m 3s+926ms</span>
<div class='node-name'>是否关注红号</div>
<span class='node-time'>Apr 27, 2020 05:12:55 PM</span>
<span class='node-duration'>0h 0m 1s+484ms</span>
<span class='test-status right fail'>fail</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
<span class='category label white-text'>名片</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
......@@ -335,13 +675,74 @@
<tbody>
<tr class='log' status='fail'>
<td class='status fail' title='fail' alt='fail'><i class='material-icons'>cancel</i></td>
<td class='timestamp'>2:54:34 PM</td>
<td class='step-details'><pre>java.lang.AssertionError: 会员类型切换:切换失败 expected [OK] but found [用户切换失败,请稍后再试]
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'><pre>java.lang.AssertionError: vip弹框判断错误 expected [false] but found [true]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:286)
at com.kjj.qa.cases.SellerCard.是否关注红号(SellerCard.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
at org.testng.SuiteRunner.run(SuiteRunner.java:254)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:73)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
</pre></td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf fail' status='fail' test-id='13'>
<div class='collapsible-header'>
<div class='node-name'>头部展示</div>
<span class='node-time'>Apr 27, 2020 05:12:55 PM</span>
<span class='node-duration'>0h 0m 1s+291ms</span>
<span class='test-status right fail'>fail</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>名片</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='fail'>
<td class='status fail' title='fail' alt='fail'><i class='material-icons'>cancel</i></td>
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'><pre>java.lang.AssertionError: 获取用户失败 expected [Su Yi] but found [测试123]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:176)
at com.kjj.qa.cases.Pay.默认付费_切换为保险版会员类型并成功付款(Pay.java:119)
at com.kjj.qa.cases.SellerCard.头部展示(SellerCard.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
......@@ -372,17 +773,17 @@
</div>
</div>
</li>
<li class='node level-1 leaf fail' status='fail' test-id='6'>
<li class='node level-1 leaf fail' status='fail' test-id='14'>
<div class='collapsible-header'>
<div class='node-name'>分销码_付费页</div>
<span class='node-time'>Apr 26, 2020 02:54:31 PM</span>
<span class='node-duration'>0h 0m 3s+493ms</span>
<div class='node-name'>专业介绍</div>
<span class='node-time'>Apr 27, 2020 05:12:55 PM</span>
<span class='node-duration'>0h 0m 1s+70ms</span>
<span class='test-status right fail'>fail</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
<span class='category label white-text'>名片</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
......@@ -396,13 +797,13 @@
<tbody>
<tr class='log' status='fail'>
<td class='status fail' title='fail' alt='fail'><i class='material-icons'>cancel</i></td>
<td class='timestamp'>2:54:34 PM</td>
<td class='step-details'><pre>java.lang.AssertionError: 获取付费价格:价格不是486 expected [486] but found [0.01]
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'><pre>java.lang.AssertionError: 个人介绍-获取介绍不匹配 expected [我在行业内深耕多年,经验丰富,具备过硬的专业素质,深受客户喜爱和支持。] but found [我在行业内整挺好!]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:176)
at com.kjj.qa.cases.Pay.分销码_付费页(Pay.java:156)
at com.kjj.qa.cases.SellerCard.专业介绍(SellerCard.java:88)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
......@@ -433,17 +834,17 @@
</div>
</div>
</li>
<li class='node level-1 leaf fail' status='fail' test-id='7'>
<li class='node level-1 leaf fail' status='fail' test-id='15'>
<div class='collapsible-header'>
<div class='node-name'>分销码_切换为保险版会员类型并成功付款</div>
<span class='node-time'>Apr 26, 2020 02:54:33 PM</span>
<span class='node-duration'>0h 0m 1s+206ms</span>
<div class='node-name'>获奖记录</div>
<span class='node-time'>Apr 27, 2020 05:12:56 PM</span>
<span class='node-duration'>0h 0m 0s+509ms</span>
<span class='test-status right fail'>fail</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
<span class='category label white-text'>名片</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
......@@ -457,13 +858,12 @@
<tbody>
<tr class='log' status='fail'>
<td class='status fail' title='fail' alt='fail'><i class='material-icons'>cancel</i></td>
<td class='timestamp'>2:54:34 PM</td>
<td class='step-details'><pre>java.lang.AssertionError: 会员类型切换:切换失败 expected [OK] but found [用户切换失败,请稍后再试]
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'><pre>java.lang.AssertionError: IDA认证匹配错误 expected [false] but found [true]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:176)
at com.kjj.qa.cases.Pay.分销码_切换为保险版会员类型并成功付款(Pay.java:230)
at org.testng.Assert.assertFalse(Assert.java:63)
at com.kjj.qa.cases.SellerCard.获奖记录(SellerCard.java:145)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
......@@ -494,49 +894,17 @@
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='8'>
<div class='collapsible-header'>
<div class='node-name'>默认付费_待支付</div>
<span class='node-time'>Apr 26, 2020 02:54:29 PM</span>
<span class='node-duration'>0h 0m 5s+326ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>2:54:34 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='9'>
<li class='node level-1 leaf pass' status='pass' test-id='16'>
<div class='collapsible-header'>
<div class='node-name'>默认付费_取消支付</div>
<span class='node-time'>Apr 26, 2020 02:54:30 PM</span>
<span class='node-duration'>0h 0m 4s+678ms</span>
<div class='node-name'>客户评价</div>
<span class='node-time'>Apr 27, 2020 05:12:56 PM</span>
<span class='node-duration'>0h 0m 0s+858ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
<span class='category label white-text'>名片</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
......@@ -550,7 +918,7 @@
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>2:54:34 PM</td>
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
......@@ -558,17 +926,17 @@
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='10'>
<li class='node level-1 leaf pass' status='pass' test-id='17'>
<div class='collapsible-header'>
<div class='node-name'>分销码_待支付</div>
<span class='node-time'>Apr 26, 2020 02:54:32 PM</span>
<span class='node-duration'>0h 0m 2s+820ms</span>
<div class='node-name'>投保实录</div>
<span class='node-time'>Apr 27, 2020 05:12:56 PM</span>
<span class='node-duration'>0h 0m 0s+689ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
<span class='category label white-text'>名片</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
......@@ -582,7 +950,7 @@
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>2:54:34 PM</td>
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
......@@ -590,17 +958,17 @@
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='11'>
<li class='node level-1 leaf pass' status='pass' test-id='18'>
<div class='collapsible-header'>
<div class='node-name'>分销码_取消支付</div>
<span class='node-time'>Apr 26, 2020 02:54:32 PM</span>
<span class='node-duration'>0h 0m 2s+257ms</span>
<div class='node-name'>精彩分享</div>
<span class='node-time'>Apr 27, 2020 05:12:56 PM</span>
<span class='node-duration'>0h 0m 0s+285ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>客集集-测试结果</span>
<span class='category label white-text'>支付</span>
<span class='category label white-text'>名片</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
......@@ -614,7 +982,7 @@
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>2:54:34 PM</td>
<td class='timestamp'>5:12:56 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
......@@ -679,14 +1047,14 @@
<div class='category-heading'>
<span class='category-name'>客集集-测试结果</span>
<span class='category-status right'>
<span class='label pass'>6</span>
<span class='label fail'>5</span>
<span class='label pass'>7</span>
<span class='label fail'>11</span>
</span>
</div>
<div class='category-content hide'>
<div class='category-status-counts'>
<span class='label green accent-4 white-text'>Passed: 6</span>
<span class='label red lighten-1 white-text'>Failed: 5</span>
<span class='label green accent-4 white-text'>Passed: 7</span>
<span class='label red lighten-1 white-text'>Failed: 11</span>
</div>
......@@ -701,58 +1069,93 @@
</thead>
<tbody>
<tr>
<td>Apr 26, 2020 02:54:24 PM</td>
<td class='linked' test-id='1'>首页</td>
<td>Apr 27, 2020 05:12:44 PM</td>
<td class='linked' test-id='1'>支付</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:44 PM</td>
<td class='linked' test-id='2'>支付.默认付费_付费页</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:52 PM</td>
<td class='linked' test-id='3'>支付.默认付费_切换为保险版会员类型并成功付款</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:52 PM</td>
<td class='linked' test-id='4'>支付.分销码_付费页</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='5'>支付.分销码_切换为保险版会员类型并成功付款</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:50 PM</td>
<td class='linked' test-id='6'>支付.默认付费_待支付</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:24 PM</td>
<td class='linked' test-id='2'>首页.JSSDK</td>
<td>Apr 27, 2020 05:12:51 PM</td>
<td class='linked' test-id='7'>支付.默认付费_取消支付</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:28 PM</td>
<td class='linked' test-id='3'>支付</td>
<td>Apr 27, 2020 05:12:53 PM</td>
<td class='linked' test-id='8'>支付.分销码_待支付</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:54 PM</td>
<td class='linked' test-id='9'>支付.分销码_取消支付</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='10'>名片</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:28 PM</td>
<td class='linked' test-id='4'>支付.默认付费_付费页</td>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='11'>名片.获取用户版本</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:30 PM</td>
<td class='linked' test-id='5'>支付.默认付费_切换为保险版会员类型并成功付款</td>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='12'>名片.是否关注红号</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:31 PM</td>
<td class='linked' test-id='6'>支付.分销码_付费页</td>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='13'>名片.头部展示</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:33 PM</td>
<td class='linked' test-id='7'>支付.分销码_切换为保险版会员类型并成功付款</td>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='14'>名片.专业介绍</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:29 PM</td>
<td class='linked' test-id='8'>支付.默认付费_待支付</td>
<td><span class='test-status pass'>pass</span></td>
<td>Apr 27, 2020 05:12:56 PM</td>
<td class='linked' test-id='15'>名片.获奖记录</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:30 PM</td>
<td class='linked' test-id='9'>支付.默认付费_取消支付</td>
<td>Apr 27, 2020 05:12:56 PM</td>
<td class='linked' test-id='16'>名片.客户评价</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:32 PM</td>
<td class='linked' test-id='10'>支付.分销码_待支付</td>
<td>Apr 27, 2020 05:12:56 PM</td>
<td class='linked' test-id='17'>名片.投保实录</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:32 PM</td>
<td class='linked' test-id='11'>支付.分销码_取消支付</td>
<td>Apr 27, 2020 05:12:56 PM</td>
<td class='linked' test-id='18'>名片.精彩分享</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
</tbody>
......@@ -762,15 +1165,16 @@
</li>
<li class='category displayed active'>
<div class='category-heading'>
<span class='category-name'>首页</span>
<span class='category-name'>支付</span>
<span class='category-status right'>
<span class='label pass'>2</span>
<span class='label pass'>4</span>
<span class='label fail'>5</span>
</span>
</div>
<div class='category-content hide'>
<div class='category-status-counts'>
<span class='label green accent-4 white-text'>Passed: 2</span>
<span class='label green accent-4 white-text'>Passed: 4</span>
<span class='label red lighten-1 white-text'>Failed: 5</span>
</div>
......@@ -785,13 +1189,48 @@
</thead>
<tbody>
<tr>
<td>Apr 26, 2020 02:54:24 PM</td>
<td class='linked' test-id='1'>首页</td>
<td>Apr 27, 2020 05:12:44 PM</td>
<td class='linked' test-id='1'>支付</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:44 PM</td>
<td class='linked' test-id='2'>支付.默认付费_付费页</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:52 PM</td>
<td class='linked' test-id='3'>支付.默认付费_切换为保险版会员类型并成功付款</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:52 PM</td>
<td class='linked' test-id='4'>支付.分销码_付费页</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='5'>支付.分销码_切换为保险版会员类型并成功付款</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:50 PM</td>
<td class='linked' test-id='6'>支付.默认付费_待支付</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:51 PM</td>
<td class='linked' test-id='7'>支付.默认付费_取消支付</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:24 PM</td>
<td class='linked' test-id='2'>首页.JSSDK</td>
<td>Apr 27, 2020 05:12:53 PM</td>
<td class='linked' test-id='8'>支付.分销码_待支付</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:54 PM</td>
<td class='linked' test-id='9'>支付.分销码_取消支付</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
</tbody>
......@@ -801,16 +1240,16 @@
</li>
<li class='category displayed active'>
<div class='category-heading'>
<span class='category-name'>支付</span>
<span class='category-name'>名片</span>
<span class='category-status right'>
<span class='label pass'>4</span>
<span class='label fail'>5</span>
<span class='label pass'>3</span>
<span class='label fail'>6</span>
</span>
</div>
<div class='category-content hide'>
<div class='category-status-counts'>
<span class='label green accent-4 white-text'>Passed: 4</span>
<span class='label red lighten-1 white-text'>Failed: 5</span>
<span class='label green accent-4 white-text'>Passed: 3</span>
<span class='label red lighten-1 white-text'>Failed: 6</span>
</div>
......@@ -825,48 +1264,48 @@
</thead>
<tbody>
<tr>
<td>Apr 26, 2020 02:54:28 PM</td>
<td class='linked' test-id='3'>支付</td>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='10'>名片</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:28 PM</td>
<td class='linked' test-id='4'>支付.默认付费_付费页</td>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='11'>名片.获取用户版本</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:30 PM</td>
<td class='linked' test-id='5'>支付.默认付费_切换为保险版会员类型并成功付款</td>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='12'>名片.是否关注红号</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:31 PM</td>
<td class='linked' test-id='6'>支付.分销码_付费页</td>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='13'>名片.头部展示</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:33 PM</td>
<td class='linked' test-id='7'>支付.分销码_切换为保险版会员类型并成功付款</td>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='14'>名片.专业介绍</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:29 PM</td>
<td class='linked' test-id='8'>支付.默认付费_待支付</td>
<td><span class='test-status pass'>pass</span></td>
<td>Apr 27, 2020 05:12:56 PM</td>
<td class='linked' test-id='15'>名片.获奖记录</td>
<td><span class='test-status fail'>fail</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:30 PM</td>
<td class='linked' test-id='9'>支付.默认付费_取消支付</td>
<td>Apr 27, 2020 05:12:56 PM</td>
<td class='linked' test-id='16'>名片.客户评价</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:32 PM</td>
<td class='linked' test-id='10'>支付.分销码_待支付</td>
<td>Apr 27, 2020 05:12:56 PM</td>
<td class='linked' test-id='17'>名片.投保实录</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:32 PM</td>
<td class='linked' test-id='11'>支付.分销码_取消支付</td>
<td>Apr 27, 2020 05:12:56 PM</td>
<td class='linked' test-id='18'>名片.精彩分享</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
</tbody>
......@@ -914,7 +1353,7 @@
<li class='exception displayed active'>
<div class='exception-heading'>
<span class='exception-name'>java.lang.AssertionError</span>
<span class='exception-count right'><span class='label red lighten-1 white-text'>4</span></span>
<span class='exception-count right'><span class='label red lighten-1 white-text'>9</span></span>
</div>
<div class='exception-content hide'>
<div class='exception-tests'>
......@@ -928,14 +1367,14 @@
</thead>
<tbody>
<tr>
<td>Apr 26, 2020 02:54:28 PM</td>
<td class='linked' test-id='4'>支付.默认付费_付费页</td>
<td>Apr 27, 2020 05:12:44 PM</td>
<td class='linked' test-id='2'>支付.默认付费_付费页</td>
<td><pre><pre>java.lang.AssertionError: 会员类型版本判断:判断错误,此版本为保险版 expected [1] but found [2]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:370)
at com.kjj.qa.cases.Pay.默认付费_付费页(Pay.java:47)
at com.kjj.qa.cases.Pay.默认付费_付费页(Pay.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
......@@ -962,14 +1401,14 @@
</pre></pre></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:30 PM</td>
<td class='linked' test-id='5'>支付.默认付费_切换为保险版会员类型并成功付款</td>
<td>Apr 27, 2020 05:12:52 PM</td>
<td class='linked' test-id='3'>支付.默认付费_切换为保险版会员类型并成功付款</td>
<td><pre><pre>java.lang.AssertionError: 会员类型切换:切换失败 expected [OK] but found [用户切换失败,请稍后再试]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:176)
at com.kjj.qa.cases.Pay.默认付费_切换为保险版会员类型并成功付款(Pay.java:119)
at com.kjj.qa.cases.Pay.默认付费_切换为保险版会员类型并成功付款(Pay.java:118)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
......@@ -996,14 +1435,14 @@
</pre></pre></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:31 PM</td>
<td class='linked' test-id='6'>支付.分销码_付费页</td>
<td><pre><pre>java.lang.AssertionError: 获取付费价格:价格不是486 expected [486] but found [0.01]
<td>Apr 27, 2020 05:12:52 PM</td>
<td class='linked' test-id='4'>支付.分销码_付费页</td>
<td><pre><pre>java.lang.AssertionError: 获取付费价格:价格不是486 expected [486] but found [586]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:176)
at com.kjj.qa.cases.Pay.分销码_付费页(Pay.java:156)
at com.kjj.qa.cases.Pay.分销码_付费页(Pay.java:155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
......@@ -1030,14 +1469,183 @@
</pre></pre></td>
</tr>
<tr>
<td>Apr 26, 2020 02:54:33 PM</td>
<td class='linked' test-id='7'>支付.分销码_切换为保险版会员类型并成功付款</td>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='5'>支付.分销码_切换为保险版会员类型并成功付款</td>
<td><pre><pre>java.lang.AssertionError: 会员类型切换:切换失败 expected [OK] but found [用户切换失败,请稍后再试]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:176)
at com.kjj.qa.cases.Pay.分销码_切换为保险版会员类型并成功付款(Pay.java:230)
at com.kjj.qa.cases.Pay.分销码_切换为保险版会员类型并成功付款(Pay.java:229)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
at org.testng.SuiteRunner.run(SuiteRunner.java:254)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:73)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
</pre></pre></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='11'>名片.获取用户版本</td>
<td><pre><pre>java.lang.AssertionError: 会员类型版本判断:判断错误,此版本为保险版 expected [1] but found [2]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:370)
at com.kjj.qa.cases.SellerCard.获取用户版本(SellerCard.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
at org.testng.SuiteRunner.run(SuiteRunner.java:254)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:73)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
</pre></pre></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='12'>名片.是否关注红号</td>
<td><pre><pre>java.lang.AssertionError: vip弹框判断错误 expected [false] but found [true]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:286)
at com.kjj.qa.cases.SellerCard.是否关注红号(SellerCard.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
at org.testng.SuiteRunner.run(SuiteRunner.java:254)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:73)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
</pre></pre></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='13'>名片.头部展示</td>
<td><pre><pre>java.lang.AssertionError: 获取用户失败 expected [Su Yi] but found [测试123]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:176)
at com.kjj.qa.cases.SellerCard.头部展示(SellerCard.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
at org.testng.SuiteRunner.run(SuiteRunner.java:254)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:73)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
</pre></pre></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:55 PM</td>
<td class='linked' test-id='14'>名片.专业介绍</td>
<td><pre><pre>java.lang.AssertionError: 个人介绍-获取介绍不匹配 expected [我在行业内深耕多年,经验丰富,具备过硬的专业素质,深受客户喜爱和支持。] but found [我在行业内整挺好!]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:176)
at com.kjj.qa.cases.SellerCard.专业介绍(SellerCard.java:88)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
at org.testng.SuiteRunner.run(SuiteRunner.java:254)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:73)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
</pre></pre></td>
</tr>
<tr>
<td>Apr 27, 2020 05:12:56 PM</td>
<td class='linked' test-id='15'>名片.获奖记录</td>
<td><pre><pre>java.lang.AssertionError: IDA认证匹配错误 expected [false] but found [true]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertFalse(Assert.java:63)
at com.kjj.qa.cases.SellerCard.获奖记录(SellerCard.java:145)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
......@@ -1087,31 +1695,31 @@
<div class='col s2'>
<div class='card-panel r'>
Tests
<div class='panel-lead'>9</div>
<div class='panel-lead'>16</div>
</div>
</div>
<div class='col s2'>
<div class='card-panel r'>
Steps
<div class='panel-lead'>9</div>
<div class='panel-lead'>16</div>
</div>
</div>
<div class='col s2'>
<div class='card-panel r'>
Start
<div class='panel-lead'>Apr 26, 2020 02:54:24 PM</div>
<div class='panel-lead'>Apr 27, 2020 05:12:44 PM</div>
</div>
</div>
<div class='col s2'>
<div class='card-panel r'>
End
<div class='panel-lead'>Apr 26, 2020 02:54:28 PM</div>
<div class='panel-lead'>Apr 27, 2020 05:12:55 PM</div>
</div>
</div>
<div class='col s2'>
<div class='card-panel r'>
Time Taken
<div class='panel-lead'>4,321ms</div>
<div class='panel-lead'>10,591ms</div>
</div>
</div>
<div class='col s4'>
......@@ -1127,14 +1735,8 @@
</tr>
<tr>
<td>客集集-测试结果</td>
<td>6</td>
<td>5</td>
<td>0</td>
</tr>
<tr>
<td>首页</td>
<td>2</td>
<td>0</td>
<td>7</td>
<td>11</td>
<td>0</td>
</tr>
<tr>
......@@ -1143,6 +1745,12 @@
<td>5</td>
<td>0</td>
</tr>
<tr>
<td>名片</td>
<td>3</td>
<td>6</td>
<td>0</td>
</tr>
</table>
</div>
</div>
......@@ -1156,22 +1764,22 @@
<script>
var statusGroup = {
passParent: 5,
failParent: 4,
passParent: 7,
failParent: 9,
fatalParent: 0,
errorParent: 0,
warningParent: 0,
skipParent: 0,
exceptionsParent: 4,
exceptionsParent: 9,
passChild: 5,
failChild: 4,
passChild: 7,
failChild: 9,
fatalChild: 0,
errorChild: 0,
warningChild: 0,
skipChild: 0,
infoChild: 0,
exceptionsChild: 4,
exceptionsChild: 9,
passGrandChild: 0,
failGrandChild: 0,
......
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