Commit a5df52e4 by fangyuan

add live project

parents
# Created by .ignore support plugin (hsz.mobi)
### Java template
# Compiled class file
*.class
# xm-autotest
.idea
com.xiaomai.iml
target
test-output
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.idea/.gitignore
.idea/.name
.idea/compiler.xml
.idea/dbnavigator.xml
.idea/encodings.xml
.idea/jarRepositories.xml
.idea/libraries/
.idea/misc.xml
.idea/modules.xml
.idea/vcs.xml
target/
test-output/
\ No newline at end of file
## xmautotest
http接口测试项目工程,完成dopost,doget 等接口请求。
### cases 存放测试代码 分模块请求
### client 存放测试基础类
### demo 存放模板测试方法
### utils 存放基础工具类
### application.properties 文件配置dubbo 配置
### config.properties 文件配置测试资源相关
### jdbc.xml 测试数据库连接池
### jdbc.properties 数据库基本信息配置
### testng.xml 配置自动化扫描测试类文件
### baseresult存放标准测试结果
### contrastresult存放请求结果与标准结果作对比
### dataprovider存放一个请求的模板化参数
### resources/ paramter.json 存放所有登录账号信息
### case 模块划分
### god ——> 教务
### money ——> 营销
### zeus ——> 家校
### cloudclass ——> 云课堂
### earth ——> 支持线
This diff is collapsed. Click to expand it.
package com.live.cases.apollo;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.ArrayList;
import java.util.List;
/**
* Created by zhangying on 2020/11/19
*/
public class TestAddRelation extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_apollo) // API 所属模块 必传 读取配置文件config.properties配置的api地址
.setApiName("api_addRelation") // API 名称 必传
.setLoginUser("zhangy-b") // http 接口,测试账号 必传
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
// dal.setCase_owner("zhangying")
// .setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
/**
* 测试课次添加关联文件
*/
@Test
public void testAddRelation() {
List contentList = new ArrayList();
contentList.add("1329253624435363842");
System.out.println("contentList= "+contentList);
JSONObject jsonObject = new JSONObject();
jsonObject.put("instId","1235115978015883266");
jsonObject.put("relationId","1329252848772321283");
jsonObject.put("relationType","SCHEDULE");
jsonObject.put("addFolderIds",contentList);
System.out.println("jsonObject = "+jsonObject);
xmAppApi.doPost(okHttpClient, url, params, jsonObject.toJSONString() , headers);
JSONObject jsonBody = okHttpClient.getBodyInJSON();
Assert.assertEquals("false", jsonBody.getString("success"));
Assert.assertEquals("存在已有的关联关系", jsonBody.getString("message"));
}
}
package com.live.cases.apollo;
import com.alibaba.fastjson.JSONObject;
import com.live.cases.largeClassLive.LargeClassLiveTools;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
/**
* Created by zhangying on 2020/11/27
*/
public class TestChangeCourseState extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_apollo) // API 所属模块 必传 读取配置文件config.properties配置的api地址
.setApiName("api_changeCourseState") // API 名称 必传
.setLoginUser("zhangy-b") // http 接口,测试账号 必传
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
super.beforeTest();
}
/**
* 测试改变直播课次状态
*/
@Test
public void testChangeCourseState() {
LargeClassLiveTools getLargeClassLiveTools = new LargeClassLiveTools();
JSONObject largeClassLive = getLargeClassLiveTools.getLargeClassLive();
String liveCourseId= (String) largeClassLive.get("liveCourseId");
JSONObject jsonObject = new JSONObject();
jsonObject.put("liveCourseId",liveCourseId);
jsonObject.put("courseState","STARTING");
xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toJSONString(), headers);
JSONObject jsonBody = xmAppApi.getBodyInJSON();
Assert.assertEquals("true", jsonBody.getString("success"));
Assert.assertEquals("操作成功!", jsonBody.getString("message"));
}
}
package com.live.cases.apollo;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
/**
* Created by zhangying on 2020/11/27
*/
public class TestClientLaunch extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_apollo) // API 所属模块 必传 读取配置文件config.properties配置的api地址
.setApiName("api_clientLaunch") // API 名称 必传
.setLoginUser("zhangy-b") // http 接口,测试账号 必传
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
super.beforeTest();
}
/**
* 测试启动直播客户端
*/
@Test
public void testClientLaunch() {
JSONObject jsonObject = new JSONObject();
xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toJSONString(), headers);
JSONObject jsonBody = xmAppApi.getBodyInJSON();
Assert.assertEquals("true", jsonBody.getString("success"));
Assert.assertEquals("操作成功!", jsonBody.getString("message"));
}
}
package com.live.cases.apollo;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.HashMap;
import java.util.Map;
import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.equalTo;
/**
* Created by zhangying on 2020/11/16
*/
public class TestGetCourseList extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_apollo) // API 所属模块 必传 读取配置文件config.properties配置的api地址
.setApiName("api_getCourseList") // API 名称 必传
// .setEnv("prod") // 运行环境 测试时可指定自己要运行的环境。 不穿默认取系统指定的允许环境
.setLoginUser("zhangy-b") // http 接口,测试账号 必传
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
dal.setCase_owner("zhangying")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
/**
* 测试资料云盘-新增保存文件夹
*/
@Test
public void testGetCourseList() {
Map bodyMap = new HashMap();
bodyMap.put("adminId", "1235115979394306049");
bodyMap.put("channel", "XIAOMAI");
bodyMap.put("endTime",System.currentTimeMillis() + 30 * 60 * 1000);
bodyMap.put("instId", "1235115978015883266");
bodyMap.put("startTime", System.currentTimeMillis() + 60 * 1000);
bodyMap.put("teacherId","1235115979473997826");
String bodydata = JSONObject.toJSONString(bodyMap);
// 接口请求 返回responseBody
given()
.header("Content-Type", "application/json")
.queryParams(params)
.headers(headers)
.body(bodydata)
.when()
.post(xmAppApi.getUrl())
.then().log().all()
.body("success", equalTo(true));
}
}
package com.live.cases.apollo;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
/**
* Created by zhangying on 2020/11/18
*/
public class TestGetLastedVersion extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_apollo) // API 所属模块 必传 读取配置文件config.properties配置的api地址
.setApiName("api_getLastedVersion") // API 名称 必传
.setLoginUser("zhangy-b") // http 接口,测试账号 必传
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
// dal.setCase_owner("zhangying")
// .setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
/**
* 获取最新版本号
*/
@Test
public void testSaveFolder() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("model","1");
jsonObject.put("platform","1");
xmAppApi.doPost(okHttpClient, url, params, jsonObject.toJSONString() , headers);
JSONObject jsonBody = okHttpClient.getBodyInJSON();
Assert.assertEquals("true", jsonBody.getString("success"));
Assert.assertEquals("操作成功!", jsonBody.getString("message"));
// Assert.assertEquals(jsonBody.getJSONObject("result").getString("total"), Integer.toString(jsonBody.getJSONObject("result").getJSONArray("records").size()));
}
}
package com.live.cases.apollo;
import com.alibaba.fastjson.JSONObject;
import com.live.cases.largeClassLive.LargeClassLiveTools;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
/**
* Created by zhangying on 2020/11/27
*/
public class TestInitXmLive extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_apollo) // API 所属模块 必传 读取配置文件config.properties配置的api地址
.setApiName("api_initXmLive") // API 名称 必传
.setLoginUser("zhangy-b") // http 接口,测试账号 必传
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
super.beforeTest();
}
/**
* 测试初始化直播间信息
*/
@Test
public void testInitXmLive() {
LargeClassLiveTools getLargeClassLiveTools = new LargeClassLiveTools();
JSONObject largeClassLive = getLargeClassLiveTools.getLargeClassLive();
xmAppApi.doRequest(RequestType.JSON, params, "{\"liveCourseId\":"+largeClassLive.get("liveCourseId")+"}", headers);
JSONObject jsonBody = xmAppApi.getBodyInJSON();
Assert.assertEquals("true", jsonBody.getString("success"));
Assert.assertEquals("操作成功!", jsonBody.getString("message"));
}
}
package com.live.cases.apollo;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.HashMap;
import java.util.Map;
import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.equalTo;
/**
* Created by zhangying on 2020/11/16
*/
public class TestQueryLiveAccount extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_apollo) // API 所属模块 必传 读取配置文件config.properties配置的api地址
.setApiName("api_queryLiveAccount") // API 名称 必传
.setLoginUser("zhangy-b") // http 接口,测试账号 必传
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
dal.setCase_owner("zhangying")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
/**
* 测试资料云盘-新增保存文件夹
*/
@Test
public void testQueryLiveAccount() {
Map bodyMap = new HashMap();
bodyMap.put("instId", "1235115978015883266");
String bodydata = JSONObject.toJSONString(bodyMap);
// 接口请求 返回responseBody
given()
.header("Content-Type", "application/json")
.queryParams(params)
.headers(headers)
.body(bodydata)
.when()
.post(xmAppApi.getUrl())
.then().log().all()
.body("success", equalTo(true));
}
}
package com.live.cases.apollo;
import com.alibaba.fastjson.JSONObject;
import com.live.cases.largeClassLive.LargeClassLiveTools;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
/**
* Created by zhangying on 2020/11/27
*/
public class TestQueryStudentByCourseId extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_apollo) // API 所属模块 必传 读取配置文件config.properties配置的api地址
.setApiName("api_queryStudentByCourseId") // API 名称 必传
.setLoginUser("zhangy-b") // http 接口,测试账号 必传
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
super.beforeTest();
}
/**
* 测试通过课次id查询直播学员
*/
@Test
public void testQueryStudentByCourseId() {
LargeClassLiveTools getLargeClassLiveTools = new LargeClassLiveTools();
JSONObject largeClassLive = getLargeClassLiveTools.getLargeClassLive();
String liveCourseId= (String) largeClassLive.get("liveCourseId");
JSONObject jsonObject = new JSONObject();
jsonObject.put("liveCourseId",liveCourseId);
jsonObject.put("current",1);
jsonObject.put("size",3500);
xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toJSONString(), headers);
JSONObject jsonBody = xmAppApi.getBodyInJSON();
Assert.assertEquals("true", jsonBody.getString("success"));
Assert.assertEquals("操作成功!", jsonBody.getString("message"));
}
}
package com.live.cases.fileManage;
import com.alibaba.fastjson.JSONObject;
import com.live.xmutils.baseapi.ApiBaseTestFile;
import org.testng.Assert;
import org.testng.annotations.Test;
/**
* Created by zhangying on 2020/11/16
*/
public class TestEmployeeFolderList extends ApiBaseTestFile {
@Override
public String getApiName() {
return "API_employeeFolderList";
}
/**
* 测试员工文件列表
*/
@Test
public void testEmployeeFolderList(){
JSONObject jsonObject = new JSONObject();
jsonObject.put("current","1");
jsonObject.put("size","10");
jsonObject.put("disk", "EMPLOYEE");
jsonObject.put("instId", "1235115978015883266");
xmAppApi.doPost(okHttpClient, url, params, jsonObject.toJSONString() , headers);
JSONObject jsonBody = okHttpClient.getBodyInJSON();
Assert.assertEquals("true", jsonBody.getString("success"));
Assert.assertEquals("操作成功!", jsonBody.getString("message"));
Assert.assertEquals(jsonBody.getJSONObject("result").getString("total"), Integer.toString(jsonBody.getJSONObject("result").getJSONArray("records").size()));
}
}
package com.live.cases.fileManage;
import com.alibaba.fastjson.JSONObject;
import com.live.xmutils.CloudClassBaseTest;
import com.live.enums.RequestType;
import org.testng.Assert;
import org.testng.annotations.Test;
/**
* 文件列表,自行判断用户id
*
* @author xue.w
* @since 2020/09/16 at 6:03 下午
**/
public class TestFolderList extends CloudClassBaseTest {
@Override
public String getApiName() {
return "API_folderList";
}
@Test(description = "获取文件列表")
public void testFolderList(){
JSONObject jsonObject = new JSONObject();
jsonObject.put("current","1");
jsonObject.put("disk", "MYSELF");
jsonObject.put("size", Integer.toString(Integer.MAX_VALUE));
xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers);
JSONObject jsonBody = xmAppApi.getBodyInJSON();
System.out.println(jsonBody);
Assert.assertEquals("true", jsonBody.getString("success"));
Assert.assertEquals("操作成功!", jsonBody.getString("message"));
Assert.assertEquals(jsonBody.getJSONObject("result").getString("total"), Integer.toString(jsonBody.getJSONObject("result").getJSONArray("records").size()));
}
}
package com.live.cases.fileManage;
import com.alibaba.fastjson.JSONObject;
import com.live.xmutils.ApiBaseTest;
import com.live.xmutils.FolderMethod;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
/**
* Created by wujie on 2020/09/16
*/
public class TestFolderList01 extends ApiBaseTest {
@Override
protected String getApiName(){
return "API_folderList";
}
// @BeforeMethod
// public void beforeTest(){
// //设置测试信息:env、Apimodule、Apiname、接口账号信息、端口位
// xmAppApi.setApiModule(ApiModele.CloudClass_Video) // API 所属模块
// .setApiName("API_createLessonSchedule") // API 名称
// .setEnv("rc") // 运行环境
// .setLoginUser("wujie_b") // 测试账号
// .setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
//
// /*dal.setCase_owner("wujie")
// .setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);*/
//
// super.beforeTest();
// }
@DataProvider(name = "testData")
public Object[][] testdata(){
return new Object[][]{
{"MYSELF", 10, 1},
{"COMMON", 10 ,1},
{"EMPLOYEE", 10 ,1}
};
}
@Test(dataProvider = "testData")
public void testFolderList(String disk, int size, int current){
//设置请求文件夹参数
// String data = "{\"size\":10,\"current\":1,\"folderIdType\":\"FOLDER\",\"disk\":\"MYSELF\","
// + "\"instId\":\"1290584237476061185\"}";
//"{\"size\":10,\"current":1,"folderIdType":"FOLDER","disk":"MYSELF","instId":"1290584237476061185"}";
//请求文件夹接口
/* okHttpClient.doPostRequest(url, params, data, headers);
JSONObject jsonBody = okHttpClient.getBodyInJSON();*/
// okHttpClient.doPostRequest(url,params,data,headers);
// JSONObject jsonBody = okHttpClient.getBodyInJSON();
String data = FolderMethod.folderList(disk,size,current);
JSONObject jsonBody = doRequest(data);
Assert.assertEquals("true", jsonBody.getString("success"));
}
}
package com.live.cases.fileManage;
import com.alibaba.fastjson.JSONObject;
import com.live.xmutils.CloudClassBaseTest;
import com.live.enums.RequestType;
import org.testng.Assert;
import org.testng.annotations.Test;
/**
* 获取用户具有权限的盘符,自行判断用户id
*
* @author xue.w
* @since 2020/09/16 at 4:09 下午
**/
public class TestGetUserDisk extends CloudClassBaseTest {
@Override
public String getApiName() {
return "API_getUserDisk";
}
@Test
public void testGetUserDisk() {
xmAppApi.doRequest(RequestType.JSON,params,"{}",headers);
JSONObject jsonBody = xmAppApi.getBodyInJSON();
Assert.assertEquals("true", jsonBody.getString("success"));
Assert.assertEquals("操作成功!", jsonBody.getString("message"));
Assert.assertEquals(3, jsonBody.getJSONArray("result").size());
}
}
package com.live.cases.fileManage;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.HashMap;
import java.util.Map;
/**
* Created by zhangying on 2020/11/19
*/
public class TestMultiPartUpload extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_File) // API 所属模块 必传 读取配置文件config.properties配置的api地址
.setApiName("API_multiPartUpload") // API 名称 必传
.setEnv("prod") // 运行环境 测试时可指定自己要运行的环境。 不穿默认取系统指定的允许环境
.setLoginUser("zhangy-b") // http 接口,测试账号 必传
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
// dal.setCase_owner("zhangying")
// .setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
/**
* 测试资料云盘-文件夹中上传pptx文件
*/
@Test
public void testMultiPartUpload() {
Map contentMap = new HashMap();
contentMap.put("folderId","1328233404495687681");
System.out.println("contentMap= "+contentMap);
Map bodyMap = new HashMap();
bodyMap.put("accessTypeEnum", "PUBLIC");
bodyMap.put("bizCode", "UPLOAD_FOLDER");
bodyMap.put("data", contentMap);
bodyMap.put("instId", "1235115978015883266");
bodyMap.put("resourceName", "XWX8GXcwRaHmicrZ.pptx");
System.out.println("bodyMap = "+bodyMap);
String bodydata = JSONObject.toJSONString(bodyMap);
xmAppApi.doPost(okHttpClient, url, params, bodydata , headers);
JSONObject jsonBody = okHttpClient.getBodyInJSON();
Assert.assertEquals("true", jsonBody.getString("success"));
Assert.assertEquals("操作成功!", jsonBody.getString("message"));
// Assert.assertEquals(jsonBody.getJSONObject("result").getString("total"), Integer.toString(jsonBody.getJSONObject("result").getJSONArray("records").size()));
}
}
package com.live.cases.fileManage;
import com.alibaba.fastjson.JSONObject;
import com.live.xmutils.baseapi.ApiBaseTestFile;
import com.xiaomai.utils.RandomStringUtil;
import org.testng.Assert;
import org.testng.annotations.Test;
/**
* Created by zhangying on 2020/11/16
*/
public class TestRenameFolder extends ApiBaseTestFile {
@Override
public String getApiName() {
return "API_renameFolde";
}
/**
* 文件夹重命名
*/
@Test
public void testRenameFolder(){
// GetFolderData getFolderList = new GetFolderData();
// List folerList = getFolderList.getFolderList();
// System.out.println("scoreTypeIdList= "+folerList);
String name = "自动化测试文件夹"+ RandomStringUtil.randomString(6); //文件夹名称
JSONObject jsonObject = new JSONObject();
jsonObject.put("id","1328233404495687681");
jsonObject.put("name", name);
xmAppApi.doPost(okHttpClient, url, params, jsonObject.toJSONString() , headers);
JSONObject jsonBody = okHttpClient.getBodyInJSON();
Assert.assertEquals("true", jsonBody.getString("success"));
Assert.assertEquals("操作成功!", jsonBody.getString("message"));
// Assert.assertEquals(jsonBody.getJSONObject("result").getString("total"), Integer.toString(jsonBody.getJSONObject("result").getJSONArray("records").size()));
}
}
package com.live.cases.fileManage;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.live.enums.Terminal;
import com.xiaomai.utils.RandomStringUtil;
import com.xiaomai.utils.XMBaseTest;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.HashMap;
import java.util.Map;
import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.equalTo;
/**
* Created by zhangying on 2020/11/16
*/
public class TestSaveFolder extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_File) // API 所属模块 必传 读取配置文件config.properties配置的api地址
.setApiName("API_saveFolder") // API 名称 必传
// .setEnv("prod") // 运行环境 测试时可指定自己要运行的环境。 不穿默认取系统指定的允许环境
.setLoginUser("zhangy-b") // http 接口,测试账号 必传
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
// dal.setCase_owner("zhangying")
// .setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
/**
* 测试资料云盘-新增保存文件夹
*/
@Test
public void testSaveFolder() {
String name = "测试文件夹新增"+ RandomStringUtil.randomString(6); //云盘文件名称
Map bodyMap = new HashMap();
bodyMap.put("createUser", "ADMIN");
bodyMap.put("disk", "MYSELF");
bodyMap.put("folderTypeEnum", "FOLDER");
bodyMap.put("instId", "1235115978015883266");
bodyMap.put("name", name);
bodyMap.put("parentId", null);
String bodydata = JSONObject.toJSONString(bodyMap);
// 接口请求 返回responseBody
given()
.header("Content-Type", "application/json")
.queryParams(params)
.headers(headers)
.body(bodydata)
.when()
.post(xmAppApi.getUrl())
.then().log().all()
.body("success", equalTo(true));
}
}
package com.live.cases.fileManage;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
//import com.live.utils.TimeSetting;
/**
* @Description 文件列表,公共文件
* @author zhangyumeng
*/
public class testCommonFolderList extends XMBaseTest {
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModele.CloudClass_B_commonFolderList )
.setApiName("API_commonFolderList")
.setLoginUser("zhangYuM_b")
.setTerminal(Terminal.B);
super.beforeTest();
}
@Test
public void testCommonFolderList(){
JSONObject jsonObject = new JSONObject();
//jsonObject.put("bizAccountId","1323235986786807809");
jsonObject.put("current",1);
jsonObject.put("disk", "COMMON");
jsonObject.put("folderIdType", "FOLDER");
jsonObject.put("instId","1300628703858597889");
jsonObject.put("searchName", null);
jsonObject.put("size", 10);
System.out.println("请求" + jsonObject);
xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(true);
//
JSONObject responseRes = xmAppApi.getBodyInJSON();
}
}
package com.live.cases.fileManage;
import com.alibaba.fastjson.JSONObject;
import com.live.xmutils.GetFolderData;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.annotations.BeforeMethod;
import java.util.ArrayList;
import java.util.List;
/**
* @Description 删除公共文件列表的文件
* @author zhangyumeng
*/
public class testDelCommonFolder extends XMBaseTest {
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModele.CloudClass_File )
.setApiName("API_delCommomFolder")
.setLoginUser("zhangYuM_b")
.setTerminal(Terminal.B);
super.beforeTest();
}
// @Test
public void testDelCommonFolderList(){
GetFolderData testCommonFolderList = new GetFolderData();
String id = testCommonFolderList.getCommonFolderListFirstId();
System.out.println("获取id" + id);
JSONObject jsonObject = new JSONObject();
List StringList = new ArrayList();
StringList.add(id);
jsonObject.put("ids", StringList);
jsonObject.put("instId","1300628703858597889");
System.out.println("请求" + jsonObject);
xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(true);
JSONObject responseRes = xmAppApi.getBodyInJSON();
}
}
package com.live.cases.interactionLive;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author NHX
* @Function 班级摘要列表
* @Date 2020/11/16 20:36
*/
public class TestClassDigestList extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_B) // API 所属模块
.setApiName("API_classdigestList") // API 名称
//.setEnv(Env.PROD) // 运行环境
.setLoginUser("NHX_b") // http 接口,测试账号
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
dal.setCase_owner("NHX")
.setCase_name("直播课加载学员摘要列表:" + Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
System.out.println(dal);
super.beforeTest();
}
@Test(description = "直播课加载学员摘要列表")
public void testLoadStudentListAPI(){
Map<String,Object> bodyMap = new HashMap<>();
bodyMap.put("size",10);
bodyMap.put("showNumber",100);
bodyMap.put("current",1);
bodyMap.put("courseId","");
bodyMap.put("classType","");
bodyMap.put("classNameLike","");
List<String> status = new ArrayList<>();
status.add("INIT");
status.add("STUDYING");
status.add("END");
bodyMap.put("status",status);
JSONObject jsonBody = new JSONObject(bodyMap);
String data = jsonBody.toJSONString();
System.out.println("请求参数==========="+jsonBody.toString());
xmAppApi.doRequest(RequestType.JSON, params, data, headers);
JSONObject jsonResponseBody = xmAppApi.getBodyInJSON();
Assert.assertEquals(jsonResponseBody.getString("success"), "true", "true");
//Assert.assertEquals(JsonParse.ParseJsonToString(jsonResponseBody, "success").toString(), "true");
}
}
package com.live.cases.interactionLive;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.HashMap;
import java.util.Map;
/**
* @author NHX
* @Function 课程摘要列表
* @Date 2020/11/16 20:34
*/
public class TestCourseDigestList extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_B) // API 所属模块
.setApiName("API_coursedigestList") // API 名称
//.setEnv(Env.PROD) // 运行环境
.setLoginUser("NHX_b") // http 接口,测试账号
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
dal.setCase_owner("NHX")
.setCase_name("直播课加载学员摘要列表:" + Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
System.out.println(dal);
super.beforeTest();
}
@Test(description = "创建直播加载学生")
public void testLoadStudentListAPI(){
Map<String,Object> bodyMap = new HashMap<>();
bodyMap.put("size",10);
bodyMap.put("showNumber",100);
bodyMap.put("current",1);
JSONObject jsonBody = new JSONObject(bodyMap);
String data = jsonBody.toJSONString();
System.out.println("请求参数==========="+jsonBody.toString());
xmAppApi.doRequest(RequestType.JSON, params, data, headers);
JSONObject jsonResponseBody = xmAppApi.getBodyInJSON();
Assert.assertEquals(jsonResponseBody.getString("success"), "true", "true");
}
}
package com.live.cases.interactionLive;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.HashMap;
import java.util.Map;
/**
* @author NHX
* @Function B端课表管理-课次详情 按关系Id获取关系
* @Date 2020/11/19 15:01
*/
public class TestGetRelationByRelationId_B extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_File) // API 所属模块
.setApiName("API_getRelationByRelationId") // API 名称
.setLoginUser("NHX_b") // http 接口,测试账号
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
dal.setCase_owner("NHX")
.setCase_name("B端课表管理-课次详情 按关系Id获取关系:" + Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
@Test(description = "B端课表管理-课次详情 按关系Id获取关系")
public void testLoadStudentListAPI(){
Map<String,Object> bodyMap = new HashMap<>();
bodyMap.put("relationId","1275721048882462728");
bodyMap.put("relationType","SCHEDULE");
bodyMap.put("instId","1235818358426509313");
JSONObject jsonBody = new JSONObject(bodyMap);
String data = jsonBody.toJSONString();
System.out.println("请求参数==========="+data);
xmAppApi.doRequest(RequestType.JSON, params, data, headers);
JSONObject jsonResponseBody = xmAppApi.getBodyInJSON();
Assert.assertEquals(jsonResponseBody.getString("success"), "true", "操作成功!");
}
}
package com.live.cases.interactionLive;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.HashMap;
import java.util.Map;
/**
* @author NHX
* @Function C端课表管理-课次详情 按关系Id获取关系
* @Date 2020/11/19 15:01
*/
public class TestGetRelationByRelationId_C extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_customerLive) // API 所属模块
.setApiName("API_getRelationByRelationId") // API 名称
.setLoginUser("NHX_c") // http 接口,测试账号
.setTerminal(Terminal.C); // 所属端位(B端,C端,M端等, 必传)
dal.setCase_owner("NHX")
.setCase_name("C端课表管理-课次详情 按关系Id获取关系:" + Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
@Test(description = "C端课表管理-课次详情 按关系Id获取关系")
public void testLoadStudentListAPI(){
Map<String,Object> bodyMap = new HashMap<>();
bodyMap.put("relationId","1145627043559436291");
bodyMap.put("relationType","SCHEDULE");
JSONObject jsonBody = new JSONObject(bodyMap);
String data = jsonBody.toJSONString();
System.out.println("请求参数==========="+data);
xmAppApi.doRequest(RequestType.JSON, params, data, headers);
JSONObject jsonResponseBody = xmAppApi.getBodyInJSON();
Assert.assertEquals(jsonResponseBody.getString("success"), "true", "操作成功!");
}
}
package com.live.cases.interactionLive;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author NHX
* @Function C端获取课表文件计数
* @Date 2020/11/19 15:01
*/
public class TestGetScheduleFileCount_C extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_customerLive) // API 所属模块
.setApiName("API_getScheduleFileCount") // API 名称
.setLoginUser("NHX_c") // http 接口,测试账号
.setTerminal(Terminal.C); // 所属端位(B端,C端,M端等, 必传)
dal.setCase_owner("NHX")
.setCase_name("C端获取课表文件计数:" + Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
@Test(description = "C端获取课表文件计数")
public void testLoadStudentListAPI(){
List list = new ArrayList();
list.add("1145613399253643266");
Map<String,Object> bodyMap = new HashMap<>();
bodyMap.put("scheduleIds",list);
JSONObject jsonBody = new JSONObject();
String data = jsonBody.toJSONString();
System.out.println("请求参数==========="+data);
xmAppApi.doRequest(RequestType.JSON, params, data, headers);
JSONObject jsonResponseBody = xmAppApi.getBodyInJSON();
Assert.assertEquals(jsonResponseBody.getString("success"), "true", "操作成功!");
}
}
package com.live.cases.interactionLive;
import com.alibaba.fastjson.JSONObject;
import com.live.cases.largeClassLive.LargeClassLiveTools;
import com.live.xmutils.CloudClassBaseTest;
import com.live.enums.RequestType;
import org.testng.Assert;
import org.testng.annotations.Test;
/**
* 获取直播课次学员列表
*
* @author xue.w
* @since 2020/09/15 at 3:17 下午
**/
public class TestGetStudentList extends CloudClassBaseTest {
@Override
public String getApiName() {
return "API_getStudentList";
}
@Test
public void testGetStudentList() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("current","1");
jsonObject.put("size","10");
LargeClassLiveTools getLargeClassLiveTools = new LargeClassLiveTools();
JSONObject largeClassLive = getLargeClassLiveTools.getLargeClassLive();
jsonObject.put("liveCourseId",largeClassLive.get("liveCourseId"));
xmAppApi.doRequest(RequestType.JSON, params, jsonObject.toString(), headers);
JSONObject jsonBody = xmAppApi.getBodyInJSON();
Assert.assertEquals("true", jsonBody.getString("success"));
Assert.assertEquals("操作成功!", jsonBody.getString("message"));
}
}
package com.live.cases.interactionLive;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.HashMap;
import java.util.Map;
/**
* @author NHX
* @Function 使用可用帐户获取学生名单
* @Date 2020/11/13 17:34
*/
public class TestGetStudentListWithUseAbleAccount extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
xmAppApi.setApiModule(ApiModele.CloudClass_B) // API 所属模块
.setApiName("API_getStudentListWithUseAbleAccount") // API 名称
// .setEnv(Env.PROD) // 运行环境
.setLoginUser("NHX_b") // http 接口,测试账号
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
dal.setCase_owner("NHX")
.setCase_name("使用可用帐户获取学生名单:" + Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
System.out.println(dal);
super.beforeTest();
}
@Test(description = "使用可用帐户获取学生名单")
public void testLoadStudentListAPI(){
Map<String,Object> bodyMap = new HashMap<>();
bodyMap.put("size",10);
bodyMap.put("current",1);
JSONObject jsonBody = new JSONObject(bodyMap);
String data = jsonBody.toJSONString();
System.out.println("请求参数==========="+jsonBody.toString());
xmAppApi.doRequest(RequestType.JSON, params, data, headers);
JSONObject jsonResponseBody = xmAppApi.getBodyInJSON();
Assert.assertEquals(jsonResponseBody.getString("success"), "true", "true");
}
}
package com.live.cases.largeClassLive;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.client.DataUserInfo;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.RandomStringUtil;
import com.xiaomai.utils.XMBaseTest;
/**
* 直播工具类
*
* @author xue.w
* @since 2020/11/16 at 3:54 下午
**/
public class LargeClassLiveTools extends XMBaseTest {
//获取大班直播,无则新增
public JSONObject getLargeClassLive(DataUserInfo... userInfo) {
dataApi.setApiModule(ApiModele.CloudClass_B)
.setApiName("API_getLargeClassLiveList")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfo);
dataApi.doRequest(RequestType.JSON,params, "", dataheadrs);
if (dataApi.getBodyInJSON().getJSONObject("result").getJSONArray("records").size() >0) {
return dataApi.getBodyInJSON().getJSONObject("result").getJSONArray("records").getJSONObject(0);
}
return createLargeClassLive(userInfo);
}
//新建大班直播
public JSONObject createLargeClassLive(DataUserInfo... userInfo) {
dataApi.setApiModule(ApiModele.CloudClass_B)
.setApiName("API_createLargeClassLive")
.setTerminal(Terminal.B);
super.beforeDataRequest(userInfo);
dataApi.doRequest(RequestType.JSON, params, buildCreateLargeClassLiveParam().toJSONString(), dataheadrs);
return getLargeClassLive(userInfo);
}
//组装大班直播新增的数据
public JSONObject buildCreateLargeClassLiveParam() {
JSONObject largeClassLive = new JSONObject();
largeClassLive.put("courseName", RandomStringUtil.randomNumber(14, "live_course_"));
largeClassLive.put("teacherId",xmAppApi.getLoginInfo().getTid());
largeClassLive.put("startTime",System.currentTimeMillis() + 60 * 1000);
largeClassLive.put("endTime",System.currentTimeMillis() + 30 * 60 * 1000);
largeClassLive.put("needRecord","YES");
largeClassLive.put("liveType","LARGE_CLASS_LIVE");
largeClassLive.put("consumeHourNum",1);
largeClassLive.put("consumeClassTime","1");
return largeClassLive;
}
}
package com.live.cases.largeClassLive;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.live.utils.TimeSetting;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.ArrayList;
/**
* @Author: zhangyumneg
* @Date: 2020/11/12
* @Description: 创建大班直播课
*/
public class TestCreateBigLiveClass extends XMBaseTest {
//private Object TimeSetting;
@BeforeMethod
public void beforeTest(){
xmAppApi.setApiModule(ApiModele.CloudClass_B_createbiglivecourse)
.setApiName("API_createBigLiveCourse")
.setLoginUser("zhangYuM_b")
.setTerminal(Terminal.B);
super.beforeTest();
}
@Test
public void testCreateBigLiveCourse() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("coverUrl", "https://image.xiaomaiketang.com/xm/YNfi45JwFA.png");
TimeSetting startTime = new TimeSetting();
jsonObject.put("startTime", startTime.startTime());
TimeSetting endTime = new TimeSetting();
jsonObject.put("endTime", endTime.endTime());
jsonObject.put("teacherId", "1323235986786807809");
jsonObject.put("liveType", "LARGE_CLASS_LIVE");
jsonObject.put("consumeHourNum", 1);
jsonObject.put("consumeClassTime", 0);
jsonObject.put("adminIds", new ArrayList<>());
jsonObject.put("courseName", "自动化创建直播课");
jsonObject.put("studentIds", new ArrayList<>());
jsonObject.put("consumeStudentIds", new JSONArray());
jsonObject.put("liveCourseMediaRequests", new JSONArray());
jsonObject.put("needRecord", "YES");
jsonObject.put("applyMode", "ANYONE");
jsonObject.put("calendarTime", new JSONArray());
jsonObject.getJSONArray("calendarTime").add("1605183968521");
System.out.println("请求" + jsonObject);
xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(true);
JSONObject responseRes = xmAppApi.getBodyInJSON();
}
}
package com.live.cases.largeClassLive;
import com.alibaba.fastjson.JSONObject;
import com.live.xmutils.CloudClassBaseTest;
import com.live.enums.RequestType;
import org.apache.commons.lang.StringUtils;
import org.testng.Assert;
import org.testng.annotations.Test;
/**
* @author xue.w
*/
public class TestCreateLargeClassLive extends CloudClassBaseTest {
@Override
public String getApiName() {
return "API_createLargeClassLive";
}
@Test
public void testCreateLargeClassLive() {
LargeClassLiveTools getLargeClassLiveTools = new LargeClassLiveTools();
JSONObject largeClassLive = getLargeClassLiveTools.buildCreateLargeClassLiveParam();
xmAppApi.doRequest(RequestType.JSON, params, largeClassLive.toString(), headers);
JSONObject jsonBody = xmAppApi.getBodyInJSON();
Assert.assertEquals(jsonBody.getString("success"),"true");
Assert.assertEquals(StringUtils.isNotBlank(jsonBody.getString("result")),true);
}
}
package com.live.cases.largeClassLive;
import com.alibaba.fastjson.JSONObject;
import com.live.xmutils.CloudClassBaseTest;
import com.live.enums.RequestType;
import org.testng.Assert;
import org.testng.annotations.Test;
/**
* @author xue.w
*/
public class TestDelLargeClassLive extends CloudClassBaseTest {
@Override
public String getApiName() {
return "API_delLargeClassLive";
}
@Test
public void testDelCourse() {
LargeClassLiveTools getLargeClassLiveTools = new LargeClassLiveTools();
JSONObject largeClassLive = getLargeClassLiveTools.getLargeClassLive();
xmAppApi.doRequest(RequestType.JSON, params, "{\"liveCourseId\":"+largeClassLive.get("liveCourseId")+"}", headers);
JSONObject jsonBody = xmAppApi.getBodyInJSON();
Assert.assertEquals("true", jsonBody.getString("success"));
}
}
package com.live.cases.largeClassLive;
import com.alibaba.fastjson.JSONObject;
import com.live.xmutils.CloudClassBaseTest;
import com.live.enums.RequestType;
import org.testng.Assert;
import org.testng.annotations.Test;
/**
* 获取机构的直播间账户列表
*
* @author xue.w
* @since 2020/09/17 at 10:15 上午
**/
public class TestQueryLiveAccount extends CloudClassBaseTest {
@Override
public String getApiName() {
return "API_queryLiveAccount";
}
@Test
public void testQueryLiveAccount(){
xmAppApi.doRequest(RequestType.JSON, params, "", headers);
JSONObject jsonBody = xmAppApi.getBodyInJSON();
Assert.assertEquals("true", jsonBody.getString("success"));
Assert.assertEquals("操作成功!", jsonBody.getString("message"));
Assert.assertEquals( jsonBody.getJSONArray("result").getJSONObject(0).getString("channel"),"XIAOMAI");
}
}
package com.live.cases.largeClassLive;
import com.alibaba.fastjson.JSONObject;
import com.live.xmutils.CloudClassBaseTest;
import com.live.enums.RequestType;
import org.testng.Assert;
import org.testng.annotations.Test;
/**
* @author xue.w
*/
public class TestUpdateLargeClassLive extends CloudClassBaseTest {
@Override
public String getApiName() {
return "API_updateLargeClassLive";
}
@Test
public void testUpdateLargeClassLive() {
LargeClassLiveTools getLargeClassLiveTools = new LargeClassLiveTools();
JSONObject largeClassLive = getLargeClassLiveTools.getLargeClassLive();
xmAppApi.doRequest(RequestType.JSON, params, largeClassLive.toString(), headers);
JSONObject jsonBody = xmAppApi.getBodyInJSON();
if (!CODE_SUCCESS.equals(jsonBody.getString("code"))) {
Assert.assertEquals("false", jsonBody.getString("success"));
//Assert.assertEquals("晚于开课前30分钟无法修改课程!", jsonBody.getString("message"));
//Assert.assertEquals("不允许更改课程信息", jsonBody.getString("message"));
return;
}
Assert.assertEquals(jsonBody.getString("success"),"true");
Assert.assertEquals(jsonBody.getString("code"),"200");
}
}
package com.live.enums;
/**
* API 模块名称 常量定义 可自己分模块自定义
* 如以后要在自己的业务线下划分多个模块,建议在自己业务线模块中单独维护
*/
public class ApiModele {
// 云课堂B端 接口模块名称
public static String CloudClass_B = "apiCaseData_b_cloudclass";
public static String CloudClass_B_createbiglivecourse = "cloudclass_createBigLiveCourse";
//云课堂接口模块名称
//云课堂B端接口模块
public static String CloudClass_Video = "cloudclass_video_b";
public static String CloudClass_File = "cloudclass_file_b";
//云课堂C端接口模块C
public static String CloudClass_VideoC = "cloudclass_video_c";
public static String CloudClass_FileC = "cloudclass_file_c";
public static String CloudClass_customerLive = "cloudclass_customerLive_api";
public static String CloudClass_apollo = "cloudclass_apollo_api";
public static String CloudClass_C_CheckAuthorize = "CloudClass_C_CheckAuthorize";
public static String CloudClass_B_commonFolderList = "cloudClass_B_commonFolderList";
}
package com.live.enums;
public class RequestType {
public static String JSON= "JSON";
public static String PARAM= "PARAM";
public static String FORM= "FORM";
public static String GET= "GET";
}
package com.live.enums;
/**
* 登录端位常量
*/
public class
Terminal {
public final static String M= "M";
public final static String B = "B";
public final static String C = "C";
public final static String minApp = "minApp";
public final static String APP_C = "app-c"; // 每课学堂 APP登录
}
package com.live.utils;
/**
* @Title: 设置直播开始&结束时间
* @Auth: zhangyumeng
* @Time: 2020/11/3
*/
public class TimeSetting{
public Object startTime(){
long totalMilliSeconds = System.currentTimeMillis();
return totalMilliSeconds; //获取直播开始时间
}
public Object endTime(){
long totalMilliSeconds1 = System.currentTimeMillis() +689216;
return totalMilliSeconds1; //获取直播结束时间
}
public static void main(String[] args) {
TimeSetting getTime = new TimeSetting();
getTime.startTime();
getTime.endTime();
System.out.println(getTime.startTime());
System.out.println(getTime.endTime());
}
}
package com.live.xmutils;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.client.BaseTest;
import com.live.enums.ApiModele;
import com.live.enums.Terminal;
import org.springframework.test.context.ContextConfiguration;
import org.testng.ITestResult;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
@ContextConfiguration(locations = {"classpath:/spring-core.xml"})
public abstract class ApiBaseTest extends BaseTest {
@BeforeClass
public static void beforeClass() {
BaseTest.beforeClass();
}
@AfterClass
public static void afterClass() {
BaseTest.afterClass();
}
@BeforeMethod
public void beforeTest() {
//设置测试信息:env、Apimodule、Apiname、接口账号信息、端口位
xmAppApi.setApiModule(ApiModele.CloudClass_Video) // API 所属模块
.setApiName(getApiName()) // API 名称
.setEnv("prod") // 运行环境
.setLoginUser("wujie_b") // 测试账号
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
/*dal.setCase_owner("wujie")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);*/
super.beforeTest();
}
@AfterMethod
public void afterTest(ITestResult result) {
super.afterMethod(result);
}
/**
*
* @return
*/
protected abstract String getApiName();
// protected String getTerminal(){
// return "Terminal.B";
// };
//protected abstract String getApiModule();
protected static JSONObject doRequest(String data){
// set default time
// xmAppApi.setApi_requestTime(0L);
okHttpClient.doPostRequest(url,data,headers);
JSONObject jsonBody = okHttpClient.getBodyInJSON();
return jsonBody;
}
}
package com.live.xmutils;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.client.BaseTest;
import com.live.enums.ApiModele;
import com.live.enums.Terminal;
import org.testng.ITestResult;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
/**
* Created by wujie on 2020/10/11
*/
public abstract class AppApiBaseTest extends ApiBaseTest {
@BeforeClass
public static void beforeClass() {
BaseTest.beforeClass();
}
@AfterClass
public static void afterClass() {
BaseTest.afterClass();
}
@BeforeMethod
public void beforeTest() {
//设置测试信息:env、Apimodule、Apiname、接口账号信息、端口位
xmAppApi.setApiModule(ApiModele.CloudClass_Video) // API 所属模块
.setApiName(getApiName()) // API 名称
.setEnv("prod") // 运行环境
.setLoginUser("wujie_b") // 测试账号
.setTerminal(Terminal.C); // 所属端位(B端,C端,M端等, 必传)
/*dal.setCase_owner("wujie")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);*/
super.beforeTest();
}
@AfterMethod
public void afterTest(ITestResult result) {
super.afterMethod(result);
}
/**
*
* @return
*/
protected abstract String getApiName();
// protected String getTerminal(){
// return "Terminal.B";
// };
//protected abstract String getApiModule();
protected static JSONObject doRequest(String data){
okHttpClient.doPostRequest(url,data,headers);
JSONObject jsonBody = okHttpClient.getBodyInJSON();
return jsonBody;
}
}
package com.live.xmutils;
import com.live.enums.ApiModele;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.annotations.BeforeMethod;
/**
* 云课堂测试基础公类
*
* @author xue.w
* @since 2020/09/16 at 11:20 上午
**/
public class CloudClassBaseTest extends XMBaseTest implements CloudClassBaseTestImpl {
public static final String CODE_SUCCESS = "200";
public static final String CODE_NOT_FOUND_STU = "10000";
public String getApiModuleName(){
return ApiModele.CloudClass_B;
}
public String getApiName(){
return "";
};
public String getLoginUser(){
return "wangxue_b";
}
public String getTerminal(){
return Terminal.B;
}
public String getCaseOwner(){
return "wangxue";
}
@BeforeMethod
@Override
public void beforeTest() {
xmAppApi.setApiModule(getApiModuleName())
.setApiName(getApiName())
.setLoginUser(getLoginUser())
.setTerminal(getTerminal());
dal.setCase_owner(getCaseOwner())
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
}
package com.live.xmutils;
/**
* 云课堂测试接口定义类
*
* @author xue.w
* @since 2020/09/16 at 11:26 上午
**/
public interface CloudClassBaseTestImpl {
public void beforeTest();
}
package com.live.xmutils;
import com.alibaba.fastjson.JSON;
/**
* Created by wujie on 2020/09/29
*/
public class FolderMethod extends ApiBaseTest {
//String data = "{\"size\":10,\"current\":1,\"folderIdType\":\"FOLDER\",\"disk\":\"MYSELF\","\"instId\":\"1290584237476061185\"}";
public String folderIdType = "FOLDER";
public String disk = "MYSELF";
public String instId = "1290584237476061185";
public int size = 10;
public int current = 1;
@Override
protected String getApiName() {
return null;
}
// public String folderIdType;
// public String disk;
// public String instId;
// public int size;
// public int current;
public static String folderList(String disk, int size, int current){
FolderMethod initFolderMethod = new FolderMethod();
initFolderMethod.disk = disk;
initFolderMethod.size = size;
initFolderMethod.current = current;
String data = JSON.toJSONString(initFolderMethod);
//JSONObject jsonBody = doRequest(data);
return data;
}
}
package com.live.xmutils;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.xiaomai.utils.XMBaseTest;
/**
* Created by zhangying on 2020/11/20
*/
public class GetCustomerLiveXMToken extends XMBaseTest {
public void getMsgAuthCode(){
dataApi.setApiModule(ApiModele.CloudClass_customerLive) // API 所属模块 必传 读取配置文件config.properties配置的api地址
.setApiName("api_login");
super.beforeTest();
JSONObject jsonObject = new JSONObject();
// {
// "accountNo": "15068165765",
// "certificate": "0000",
// "loginType": "PHONE_AUTH_CODE",
// "appTerm": "IOS",
// "userType": "C"
// }
jsonObject.put("accountNo","15068165765");
jsonObject.put("certificate", "0000");
jsonObject.put("loginType", "PHONE_AUTH_CODE");
jsonObject.put("appTerm", "IOS");
jsonObject.put("userType", "C");
System.out.println("jsonObject= " + jsonObject);
okHttpClient.doPostRequest(dataApi.getUrl(),jsonObject.toJSONString(),headers);
// xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(true);
// //
JSONObject responseRes = xmAppApi.getBodyInJSON();
System.out.println("responseRes= " + responseRes);
}
}
package com.live.xmutils;
import com.alibaba.fastjson.JSONObject;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.RandomStringUtil;
import com.xiaomai.utils.XMBaseTest;
import io.restassured.response.Response;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static io.restassured.RestAssured.given;
public class GetFolderData extends XMBaseTest {
public Response saveFolder() {
dataApi.setApiModule(ApiModele.CloudClass_File) // API 所属模块 必传 读取配置文件config.properties配置的api地址
.setApiName("API_saveFolder") // API 名称 必传
.setEnv("prod") // 运行环境 测试时可指定自己要运行的环境。 不穿默认取系统指定的允许环境
.setLoginUser("zhangy-b") // http 接口,测试账号 必传
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
// dal.setCase_owner("zhangying")
// .setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
String name = "测试文件夹新增"+ RandomStringUtil.randomString(6); //评分维度名称
Map bodyMap = new HashMap();
bodyMap.put("createUser", "ADMIN");
bodyMap.put("disk", "MYSELF");
bodyMap.put("folderTypeEnum", "FOLDER");
bodyMap.put("instId", "1235115978015883266");
bodyMap.put("name", name);
bodyMap.put("parentId", null);
String bodydata = JSONObject.toJSONString(bodyMap);
// 接口请求 返回responseBody
Response response = given()
.header("Content-Type", "application/json")
.queryParams(params)
.headers(headers)
.body(bodydata)
.when()
.post(dataApi.getUrl())
.then().log().all()
.extract()
.path("result");
return response;
}
public List getFolderList() {
dataApi.setApiModule(ApiModele.CloudClass_File) // API 所属模块 必传 读取配置文件config.properties配置的api地址
.setApiName("API_folderList") // API 名称 必传
.setEnv("prod") // 运行环境 测试时可指定自己要运行的环境。 不穿默认取系统指定的允许环境
.setLoginUser("zhangy-b") // http 接口,测试账号 必传
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
super.beforeDataRequest();
Map bodyMap = new HashMap();
bodyMap.put("current", 1);
bodyMap.put("size", 10);
bodyMap.put("disk", "MYSELF");
String bodydata = JSONObject.toJSONString(bodyMap);
// 接口请求 返回responseBody
Response response = given()
.header("Content-Type", "application/json")
.queryParams(params)
.headers(headers)
.body(bodydata)
.when()
.post(dataApi.getUrl())
.then().log().all()
.extract()
.response();
List folderList = new ArrayList();
folderList.add(response.path("result.records"));
return folderList;
}
public String getCommonFolderListFirstId(){
dataApi.setApiModule(ApiModele.CloudClass_File)
.setApiName("API_commonFolderList")
.setLoginUser("zhangYuM_b")
.setTerminal(Terminal.B);
super.beforeDataRequest();
JSONObject jsonObject = new JSONObject();
jsonObject.put("current",1);
jsonObject.put("disk", "COMMON");
jsonObject.put("folderIdType", "FOLDER");
jsonObject.put("instId","1300628703858597889");
jsonObject.put("searchName", null);
jsonObject.put("size", 10);
dataApi.doRequest(RequestType.JSON,dataparams,jsonObject.toJSONString(),dataheadrs).assetsSuccess(true);
JSONObject responseRes = dataApi.getBodyInJSON();
System.out.println(responseRes);
String id = responseRes.getJSONObject("result").getJSONArray("records").getJSONObject(0).getString("id");
return id;
}
}
package com.live.xmutils;
import com.alibaba.fastjson.JSONObject;
import com.live.cases.largeClassLive.LargeClassLiveTools;
import com.live.enums.ApiModele;
import com.live.enums.RequestType;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.apache.commons.lang.StringUtils;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class GetLiveCourseData extends XMBaseTest {
@BeforeMethod
public void beforeTest() {
dataApi.setApiModule(ApiModele.CloudClass_B) // API 所属模块 必传 读取配置文件config.properties配置的api地址
.setApiName("API_createLargeClassLive") // API 名称 必传
.setLoginUser("zhangy-b") // http 接口,测试账号 必传
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
super.beforeTest();
}
@Test
public String getLiveCourseData() {
LargeClassLiveTools getLargeClassLiveTools = new LargeClassLiveTools();
JSONObject largeClassLive = getLargeClassLiveTools.buildCreateLargeClassLiveParam();
dataApi.doRequest(RequestType.JSON, params, largeClassLive.toString(), headers);
JSONObject jsonBody = dataApi.getBodyInJSON();
System.out.println("jsonBody = "+jsonBody);
String liveCourseId=jsonBody.getString("result");
System.out.println("liveCourseId = "+liveCourseId);
Assert.assertEquals(jsonBody.getString("success"),"true");
Assert.assertEquals(StringUtils.isNotBlank(jsonBody.getString("result")),true);
return liveCourseId;
}
}
package com.live.xmutils;
import com.xiaomai.client.SSLRestfulClient;
import org.testng.annotations.Test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
* Created by zhangying on 2020/11/19
*/
public class GetMsgAuthCode {
public static SSLRestfulClient sslhttpclient = new SSLRestfulClient();
// public static OkHttpClient okHttpClient = null;
public static HashMap<String, String> headers =new HashMap<>();
public static List params=new ArrayList() {
};
@Test
public void getMsgAuthCode(){
// dataApi.setApiModule(ApiModele.CloudClass_customerLive) // API 所属模块 必传 读取配置文件config.properties配置的api地址
//// .setApiName("api_msgAuthCode");
// super.beforeTest();
String json="{\n" +
" \"phone\":15068165765,\n" +
" \"serverType\":\"C_LOGIN\"\n" +
"}";
sslhttpclient.doPostRequest("https://gateway.xiaomai5.com/horn/anon/horn/msgAuthCode", params,json,headers);
// okHttpClient.doPostRequest(dataApi.getUrl(),jsonObject.toJSONString(),headers);
// xmAppApi.doRequest(RequestType.JSON,params,jsonObject.toJSONString(),headers).assetsSuccess(true);
// //
// JSONObject responseRes = xmAppApi.getBodyInJSON();
// System.out.println("responseRes= " + responseRes);
}
// public static void main(String[] args) {
// GetMsgAuthCode getMsgAuthCode= new GetMsgAuthCode();
// getMsgAuthCode.getMsgAuthCode();
//
// }
}
package com.live.xmutils;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.client.BaseTest;
import java.util.List;
/**
* Created by wujie on 2020/09/27
*/
public class StudentMethod extends BaseTest {
public String scheduleId = "1309881741792104449";
public String instId = "1290584237476061185";
public List<String> studentIds;
//public String[] studentIds = new String[]{};
public int size = 10;
public long current = 1;
public String message;
public String success;
public static String addLessonScheduleStu(String scheduleId, String instId, String message, List<String> studentIds){
StudentMethod initStudentMethod= new StudentMethod();
initStudentMethod.scheduleId = scheduleId;
initStudentMethod.instId = instId;
initStudentMethod.studentIds = studentIds;
initStudentMethod.message = message;
String data = JSONObject.toJSONString(initStudentMethod);
return data;
}
}
package com.live.xmutils.baseapi;
import com.alibaba.fastjson.JSONObject;
import com.xiaomai.client.BaseTest;
import com.live.enums.ApiModele;
import com.live.enums.Terminal;
import org.springframework.test.context.ContextConfiguration;
import org.testng.ITestResult;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
/**
* Created by zhangying on 2020/11/17
*/
@ContextConfiguration(locations = {"classpath:/spring-core.xml"})
public abstract class ApiBaseTestFile extends BaseTest {
@BeforeClass
public static void beforeClass() {
BaseTest.beforeClass();
}
@AfterClass
public static void afterClass() {
BaseTest.afterClass();
}
@BeforeMethod
public void beforeTest() {
//设置测试信息:env、Apimodule、Apiname、接口账号信息、端口位
xmAppApi.setApiModule(ApiModele.CloudClass_File) // API 所属模块
.setApiName(getApiName()) // API 名称
// .setEnv("prod") // 运行环境
.setLoginUser("zhangy-b") // 测试账号
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
super.beforeTest();
}
@AfterMethod
public void afterTest(ITestResult result) {
super.afterMethod(result);
}
/**
*
* @return
*/
protected abstract String getApiName();
protected static JSONObject doRequest(String data){
okHttpClient.doPostRequest(url,data,headers);
JSONObject jsonBody = okHttpClient.getBodyInJSON();
return jsonBody;
}
}
package com.live.xmutils.baseapi;
import com.xiaomai.client.BaseTest;
import com.live.enums.ApiModele;
import com.live.enums.Terminal;
import com.xiaomai.utils.XMBaseTest;
import org.testng.ITestResult;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
/**
* Created by zhangying on 2020/11/19
*/
public abstract class CloundClassApiBaseTest extends XMBaseTest {
// public static String instId_C = userInfoParam.getString("instId");
// public static String studentId_C = userInfoParam.getString("studentId");
// static String classId_C = userInfoParam.getString("classId");
@BeforeClass
public static void beforeClass() {
BaseTest.beforeClass();
}
@AfterClass
public static void afterClass() {
BaseTest.afterClass();
}
@BeforeMethod
public void beforeTest() {
//设置测试信息:env、Apimodule、Apiname、接口账号信息、端口位
xmAppApi.setApiModule(ApiModele.CloudClass_apollo) // API 所属模块
.setApiName(getApiName()) // API 名称
// .setEnv(GRAY) // 运行环境
.setLoginUser("zhangyLive-b.gray") // 测试账号
.setTerminal(Terminal.B); // 所属端位(B端,C端,M端等, 必传)
dal.setCase_owner("zhangying")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
// // 预置登录信息
super.beforeTest();
}
protected abstract String getApiName();
@AfterMethod
public void afterTest(ITestResult result) {
super.afterMethod(result);
}
}
\ No newline at end of file
{
"API_getLargeClassLiveList":
{
"apiPath": "/apollo/public/businessLive/getLargeClassLiveList",
"apiContentType": "application/json;charset=utf-8",
"apiName": "获取大班直播课列表",
"desc": "获取大班直播课列表"
},
"API_createLargeClassLive":
{
"apiPath": "/apollo/public/businessLive/createCourse",
"apiContentType": "application/json;charset=utf-8",
"apiName": "新增直播课信息",
"desc": "新增直播课信息"
},
"API_updateCourse":
{
"apiPath": "/apollo/public/businessLive/updateCourse",
"apiContentType": "application/json;charset=utf-8",
"apiName": "修改直播课信息",
"desc": "修改直播课信息"
},
"API_delCourse":
{
"apiPath": "/apollo/public/businessLive/delCourse",
"apiContentType": "application/json;charset=utf-8",
"apiName": "删除直播课信息",
"desc": "删除直播课信息"
},
"API_getStudentList":
{
"apiPath": "/apollo/public/businessLive/getStudentList",
"apiContentType": "application/json;charset=utf-8",
"apiName": "获取直播课次学员列表",
"desc": "获取直播课次学员列表"
},
"API_checkExistStudent":
{
"apiPath": "/apollo/public/businessLive/checkExistStudent",
"apiContentType": "application/json;charset=utf-8",
"apiName": "校验课程中是否存在学员",
"desc": "校验课程中是否存在学员"
},
"API_addCourseStu": {
"apiPath": "/apollo/public/businessLive/addCourseStu",
"apiContentType": "application/json;charset=utf-8",
"apiName": "直播课次新增在读学员",
"desc": "直播课次新增在读学员"
},
"API_moveCourseStu": {
"apiPath": "/apollo/public/businessLive/moveCourseStu",
"apiContentType": "application/json;charset=utf-8",
"apiName": "移除直播课次的指定学员",
"desc": "移除直播课次的指定学员"
},
"API_createLesson": {
"apiPath": "/apollo/public/apollo/createLessonSchedule",
"apiContentType": "application/json;charset=utf-8",
"apiName": "新建视频课",
"desc": "新建视频课"
},
"API_getUserDisk": {
"apiPath": "/apollo/public/apollo/getUserDisk",
"apiContentType": "application/json;charset=utf-8",
"apiName": "获取用户具有权限的盘符,自行判断用户id",
"desc": "获取用户具有权限的盘符,自行判断用户id"
},
"API_folderList": {
"apiPath": "/apollo/public/apollo/folderList",
"apiContentType": "application/json;charset=utf-8",
"apiName": "文件列表,自行判断用户id",
"desc": "文件列表,自行判断用户id"
},
"API_queryLiveAccount": {
"apiPath": "/apollo/public/businessLive/queryLiveAccount",
"apiContentType": "application/json;charset=utf-8",
"apiName": "获取机构的直播间账户列表",
"desc": "获取机构的直播间账户列表"
},
"API_getStudentListWithUseAbleAccount": {
"apiPath": "/business/public/student/getStudentListWithUseAbleAccount",
"apiContentType": "application/json;charset=utf-8",
"apiName": "使用可用帐户获取学生名单",
"desc": "使用可用帐户获取学生名单"
},
"API_coursedigestList": {
"apiPath": "/business/public/course/digestList",
"apiContentType": "application/json;charset=utf-8",
"apiName": "直播课加载学员摘要列表",
"desc": "直播课加载学员摘要列表"
},
"API_commonFolderList": {
"apiPath": "/apollo/public/apollo/commonFolderList",
"apiContentType": "application/json;charset=utf-8",
"apiName": "文件列表,公共文件",
"desc": "文件列表,公共文件"
},
"API_createBigLiveCourse": {
"apiPath": "/apollo/public/businessLive/createCourse",
"apiContentType": "application/json;charset=utf-8",
"apiName": "创建大班直播课",
"desc": "创建大班直播课"
}
}
\ No newline at end of file
{
"API_folderList":
{
"apiPath": "/apollo/public/apollo/folderList",
"apiContentType": "",
"apiName": "获取课次的学生可见文件数",
"desc": "获取课次的学生可见文件数"
},
"API_getUserDisk":
{
"apiPath": "/apollo/public/apollo/getUserDisk",
"apiContentType": "",
"apiName": "加入学习",
"desc": "加入学习"
},
"API_commonFolderList":
{
"apiPath": "/apollo/public/apollo/commonFolderList",
"apiContentType": "application/json;charset=UTF-8",
"apiName": "资料云盘公共文件列表",
"desc": "资料云盘公共文件列表"
},
"API_employeeFolderList":
{
"apiPath": "/apollo/public/apollo/employeeFolderList",
"apiContentType": "application/json;charset=UTF-8",
"apiName": "资料云盘员工文件列表",
"desc": "资料云盘员工文件列表"
},
"API_saveFolder":
{
"apiPath": "/apollo/public/apollo/saveFolder",
"apiContentType": "application/json;charset=UTF-8",
"apiName": "新增文件夹",
"desc": "新增文件夹"
},
"API_renameFolde":
{
"apiPath": "/apollo/public/apollo/renameFolder",
"apiContentType": "application/json;charset=UTF-8",
"apiName": "重命名文件夹",
"desc": "重命名文件夹"
},
"API_multiPartUpload":
{
"apiPath": "/mfs/anon/mfs/multiPartUpload",
"apiContentType": "application/json;charset=UTF-8",
"apiName": "文件夹上传文件",
"desc": "文件夹上传文件"
},
"API_getRelationByRelationId":
{
"apiPath": "/apollo/public/apollo/getRelationByRelationId",
"apiContentType": "application/json;charset=UTF-8",
"apiName": "B端课表管理-课次详情 按关系Id获取关系",
"desc": "B端课表管理-课次详情 按关系Id获取关系"
},
"API_getGetUserDisk":
{
"apiPath": "/apollo/public/apollo/getUserDisk",
"apiContentType": "application/json;charset=UTF-8",
"apiName": "B端直播课 获取用户磁盘",
"desc": "B端直播课 获取用户磁盘"
},
"API_queryCourseTrophy":
{
"apiPath": "/apollo/public/commonLive/queryCourseTrophy",
"apiContentType": "application/json;charset=UTF-8",
"apiName": "APP端查询课程奖杯",
"desc": "APP端查询课程奖杯"
},
"API_getLargeClassLiveList":
{
"apiPath": "/apollo/public/businessLive/getLargeClassLiveList",
"apiContentType": "application/json;charset=UTF-8",
"apiName": "B端查询大班直播列表",
"desc": "B端查询大班直播列表"
},
"API_delCommomFolder":
{
"apiPath": "/apollo/public/apollo/delCommonFolder",
"apiContentType": "application/json;charset=UTF-8",
"apiName": "删除公共文件",
"desc": "删除公共文件"
}
}
\ No newline at end of file
{
"API_getScheduleFileCount":
{
"apiPath": "/apollo/anon/customerApollo/getScheduleFileCount",
"apiContentType": "",
"apiName": "获取课次的学生可见文件数",
"desc": "获取课次的学生可见文件数"
},
"API_joinVideoScheduleByShare":
{
"apiPath": "/apollo/anon/apollo/joinVideoScheduleByShare",
"apiContentType": "",
"apiName": "加入学习",
"desc": "加入学习"
},
"API_stuWatchInfo":
{
"apiPath": "/apollo/anon/apollo/stuWatchInfo",
"apiContentType": "",
"apiName": "学生观看视频数据",
"desc": "学生观看视频数据"
}
}
\ No newline at end of file
{
"API_createLessonSchedule":
{
"apiPath": "/apollo/public/apollo/createLessonSchedule",
"apiContentType": "",
"apiName": "创建视频课",
"desc": "新增一节视频课"
},
"API_getLessonScheduleStuPage":
{
"apiPath": "/apollo/public/apollo/getLessonScheduleStuPage",
"apiContentType": "",
"apiName": "获取学员信息",
"desc": "获取学员信息"
},
"API_editLessonSchedule":
{
"apiPath": "/apollo/public/apollo/editLessonSchedule",
"apiContentType": "",
"apiName": "编辑视频课",
"desc": "修改视频课信息"
},
"API_removeLessonSchedule":
{
"apiPath": "/apollo/public/apollo/removeLessonSchedule",
"apiContentType": "",
"apiName": "删除视频课",
"desc": "删除视频课"
},
"API_lessonScheduleListPage":
{
"apiPath": "/apollo/public/apollo/lessonScheduleListPage",
"apiContentType": "",
"apiName": "获取视频课列表",
"desc": "获取视频课列表"
},
"API_createSignUpVoucher":
{
"apiPath": "/business/public/order/createSignUpVoucher",
"apiContentType": "",
"apiName": "获取视频课列表",
"desc": "获取视频课列表"
},
"API_getLessonScheduleDetail":
{
"apiPath": "/apollo/public/apollo/getLessonScheduleDetail",
"apiContentType": "",
"apiName": "获取课次课次详情",
"desc": "获取课次详情"
},
"API_getLessonStuIdListByScheduleId":{
"apiPath": "/apollo/public/apollo/getLessonStuIdListByScheduleId",
"apiContentType": "",
"apiName": "根据课次id获取学生id",
"desc": "根据课次id获取学生id"
},
"API_addLessonScheduleStu":
{
"apiPath": "/apollo/public/apollo/addLessonScheduleStu",
"apiContentType": "",
"apiName": "给课次添加学员",
"desc": "给课次添加学员"
},
"API_folderList":
{
"apiPath": "/apollo/public/apollo/folderList",
"apiContentType": "",
"apiName": "获取课次的学生可见文件数",
"desc": "获取课次的学生可见文件数"
},
"API_getUserDisk":
{
"apiPath": "/apollo/public/apollo/getUserDisk",
"apiContentType": "",
"apiName": "加入学习",
"desc": "加入学习"
}
}
\ No newline at end of file
{
"api_getLastedVersion":
{
"apiPath": "/apollo/public/version/getLastedVersion",
"apiContentType": "application/json;charset=utf-8",
"apiName": "获取最新版本号",
"desc": "获取最新版本号"
},
"api_addRelation":
{
"apiPath": "/apollo/public/apollo/addRelation",
"apiContentType": "application/json;charset=utf-8",
"apiName": "添加关联文件",
"desc": "添加关联文件"
},
"api_getCourseList":
{
"apiPath": "/apollo/public/businessLive/getCourseList",
"apiContentType": "application/json;charset=utf-8",
"apiName": "获取直播课列表",
"desc": "获取直播课列表"
},
"api_queryLiveAccount":
{
"apiPath": "/apollo/public/businessLive/queryLiveAccount",
"apiContentType": "application/json;charset=utf-8",
"apiName": "查询直播账号",
"desc": "查询直播账号"
},
"api_initXmLive":
{
"apiPath": "/apollo/public/businessLive/initXmLive",
"apiContentType": "application/json;charset=utf-8",
"apiName": "初始化直播间数据",
"desc": "初始化直播间数据"
},
"api_queryStudentByCourseId":
{
"apiPath": "/apollo/public/businessLive/queryStudentByCourseId",
"apiContentType": "application/json;charset=utf-8",
"apiName": "通过课次查询直播学员",
"desc": "通过课次查询直播学员"
},
"api_changeCourseState":
{
"apiPath": "/apollo/public/businessLive/changeCourseState",
"apiContentType": "application/json;charset=utf-8",
"apiName": "改变课程状态",
"desc": "改变课程状态",
},
"api_clientLaunch":
{
"apiPath": "/apollo/public/businessLive/clientLaunch",
"apiContentType": "application/json;charset=utf-8",
"apiName": "启动直播客户端",
"desc": "启动直播客户端"
}
}
\ No newline at end of file
{
"wujie_b": {
"gray": {
"instId": "1290584237476061185",
"accountNo": "15958197956",
"certificate": "290112bfbde696fcb91284bba1e2655b",
"aid": "1291264680405467138",
"uid": "1291264680439021569",
"userType": "B",
"tid": "1291264680405467138"
},
"prod": {
"instId": "1290584237476061185",
"accountNo": "15958197956",
"certificate": "290112bfbde696fcb91284bba1e2655b",
"aid": "1291264680405467138",
"uid": "1291264680439021569",
"userType": "B",
"tid": "1291264680405467138"
},
"rc":
{
"instId": "1289141540495237122",
"accountNo": "15958197956",
"certificate": "290112bfbde696fcb91284bba1e2655b",
"aid": "1291246898799001602",
"uid": "1291246899319095297",
"userType": "B",
"tid": "1291247057398218754"
}
}
}
\ No newline at end of file
{
"api_msgAuthCode":
{
"apiPath": "/horn/anon/horn/msgAuthCode",
"apiContentType": "application/json;charset=utf-8",
"apiName": "直播C端登录获取验证码",
"desc": "直播C端登录获取验证码"
},
"api_login":
{
"apiPath": "/zeus/anon/account/login",
"apiContentType": "application/json;charset=utf-8",
"apiName": "直播C端登录",
"desc": "直播C端登录"
},
"api_getStudentCourseDay":
{
"apiPath": "/apollo/public/customerLive/getStudentCourseDay",
"apiContentType": "application/json;charset=utf-8",
"apiName": "直播C端(每课学堂)课表",
"desc": "直播C端(每课学堂)课表"
},
"API_getStudentInstLinkageList":
{
"apiPath": "/apollo/public/customerLive/getStudentInstLinkageList",
"apiContentType": "application/json;charset=utf-8",
"apiName": "C端获取学生信息列表",
"desc": "C端获取学生信息列表"
},
"API_getScheduleFileCount":
{
"apiPath": "/apollo/public/customerApollo/getScheduleFileCount",
"apiContentType": "application/json;charset=utf-8",
"apiName": "C端课表获取学生信息列表",
"desc": "C端课表获取学生信息列表"
},
"API_getRelationByRelationId":
{
"apiPath": "/apollo/public/customerApollo/getRelationByRelationId",
"apiContentType": "application/json;charset=UTF-8",
"apiName": "C端课表管理-课次详情 按关系Id获取关系",
"desc": "C端课表管理-课次详情 按关系Id获取关系"
},
"API_queryStudentCourse":
{
"apiPath": "/apollo/public/customerLive/queryStudentCourse",
"apiContentType": "application/json;charset=UTF-8",
"apiName": "C端查询学生直播课程",
"desc": "C端查询学生直播课程"
}
}
\ No newline at end of file
# Dev
dev =https://dev-heimdall.xiaomai5.com
#rc
rc=https://rc-heimdall.xiaomai5.com
# gray
gray=https://gray-heimdall.xiaomai5.com
#prod
prod=https://heimdall.xiaomai5.com
# 测试运行环境 本地调试时,可指定调试环境。完成本地调试后,请注释此变量
#runningEnv = rc
testData = \\src\\main\\resources\\dataprovider\\APIcase.xls
# �����˺�
testAccount = /src/main/resources/parameter.json
# ����B�� api �ӿ�
apiCaseData_b = /src/main/resources/apicase/god/api-b.json
god_order_api = /src/main/resources/apicase/god/api-order.json
apiCaseData_c = /src/main/resources/apicase/god/api-c.json
apiCaseData_online = /src/main/resources/apicase/god/api-onlinemall.json
apiCaseData_admin = /src/main/resources/apicase/god/api-admin.json
apiCaseData_stu = /src/main/resources/apicase/god/api-stu.json
apiCaseData_classhour = /src/main/resources/apicase/god/api-classhour.json
god_homepage_api =/src/main/resources/apicase/god/api-homepage.json
god_tam_api =/src/main/resources/apicase/god/api-tam.json
#M��api�ӿ�
apiCaseData_m = /src/main/resources/apicase/earth/api-m.json
# B�� ��У api �ӿ�
zeus_homeworkAPI_b = /src/main/resources/apicase/zeus/homework-b.json
zeus_homework_c = /src/main/resources/apicase/zeus/homework-c.json
# C�� ��У api �ӿ�
zeus_homeworkAPI_c = /src/main/resources/apicase/zeus/homework-miniApp-c.json
# B�� �����?
zeus_punchAPI_b = /src/main/resources/apicase/zeus/punch-b.json
zeus_evaluation = /src/main/resources/apicase/zeus/evaluation.json
zeus_growthArchives = /src/main/resources/apicase/zeus/growthArchives.json
zeus_maimaiC = /src/main/resources/apicase/zeus/maimaiC.json
# Ӫ��B�� api �ӿ�
money_coupon_api = /src/main/resources/apicase/money/api-coupon.json
money_assets_api = /src/main/resources/apicase/money/api-assets.json
money_integral_api = /src/main/resources/apicase/money/api-integral.json
money_form_api = /src/main/resources/apicase/money/api-form.json
money_show_api = /src/main/resources/apicase/money/api-show.json
money_c_api = /src/main/resources/apicase/money/api-c.json
#�ƿ���B��api�ӿ�
apiCaseData_b_cloudclass = /src/main/resources/apicase/cloudclass/api-b.json
# cloudclass api
cloudclass_video_b = /src/main/resources/apicase/cloudclass/api-video-b.json
cloudclass_video_c = /src/main/resources/apicase/cloudclass/api-video-c.json
cloudclass_file_b = /src/main/resources/apicase/cloudclass/api-file-b.json
cloudclass_file_c = /src/main/resources/apicase/cloudclass/api-file-c.json
cloudclass_customerLive_api = /src/main/resources/apicase/cloudclass/customerLive.json
cloudclass_apollo_api = /src/main/resources/apicase/cloudclass/apollo.json
b_web_login_param = p=w&v=v5.4.0&userType=B
b_app_login_paran = p=iOS&xmversion=5.0&b=552595&userType=B&saasV=5.0&vn=5.4.3&deviceVersion=13.4.1&v=5.4.3
//cloudclass api
//B端创建课程
cloudclass_createBigLiveCourse = /src/main/resources/apicase/cloudclass/api-b.json
//c端校验直播课程和学员是否有观看的权限
cloudClass_B_commonFolderList = /src/main/resources/apicase/cloudclass/api-b.json
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<!-- 日志输出的位置 -->
<Properties>
<!-- 保存在当前路径的logs文件夹下 -->
<Property name="basePath">./logs</Property>
</Properties>
<!-- 日志输出的位置 -->
<Appenders>
<!-- filePattern表示滚动一天记录日志命名 -->
<RollingFile name="file" fileName="${basePath}/test.log"
filePattern="${basePath}/test-%d{yyyy-MM-dd}.log">
<PatternLayout charset="UTF-8" pattern="%d{YYY-MM-dd-HH:mm:ss.SSS} %-5level %c{1} -%msg%n" />
<Policies>
<!-- interval="1"基于时间触发RollingFile 表示滚动一天记录日志 -->
<TimeBasedTriggeringPolicy interval="1"
modulate="true" />
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
</RollingFile>
<!-- 日志在控制台输出用 Console -->
<Console name="ConsoleOut">
<!-- 日志显示的风格 -->
<PatternLayout pattern="%d{YYY-MM-dd-HH:mm:ss。SSS} %-5level %c{1} -%msg%n" />
</Console>
</Appenders>
<Loggers>
<!-- 日志输出级别为info -->
<Root level="info">
<!-- 前面有定义RollingFile的名称为file -->
<AppenderRef ref="file" />
</Root>
</Loggers>
</Configuration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
">
<context:component-scan base-package="com.xiaomai.cases"></context:component-scan>
<!-- <context:property-placeholder location="classpath:/application.properties" />-->
<!--<bean id="loginInfo" class="com.xiaomai.base.CommonRequestParameters"></bean>-->
<bean id="commonLoginInfoMap" class="com.xiaomai.utils.CommonLoginInfo"></bean>
<bean id="springContextUtil" class="com.xiaomai.utils.SpringContextUtil"></bean>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="xm-autotest-live" parallel="methods" thread-count="20" data-provider-thread-count="5" >
<listeners>
<listener class-name="com.xiaomai.client.RetryListener" />
<listener class-name="com.xiaomai.client.TestListener" />
<listener class-name="com.xiaomai.client.ExtentTestNGIReporterListener"/>
</listeners>
<!-- 保证classes 文件优先执行 -->
<!--<test name="makedata" preserve-order="true" verbose="3">
<classes>
<class name="com.xiaomai.cases.god.graden.SaveStudentAPI"/>
</classes>
</test>-->
<test name="apollo" preserve-order="true" verbose="3">
<packages>
<package name="com.live.cases.apollo"></package>
</packages>
</test>
<test name="fileManage" preserve-order="true" verbose="3">
<packages>
<package name="com.live.cases.fileManage"></package>
</packages>
</test>
<test name="interactionLive" preserve-order="true" verbose="3">
<packages>
<package name="com.live.cases.interactionLive"></package>
</packages>
</test>
<test name="largeClassLive" preserve-order="true" verbose="3">
<packages>
<package name="com.live.cases.largeClassLive"></package>
</packages>
</test>
</suite>
\ 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