maven项目,把testng用例放在test目录下,配置pom.xml 文件如下,执行mvn test 能自动执行testng里面的用例。
配置步骤
1、pop.xml配置
1.1、testng配置
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> <java.version>8</java.version> <allure.version>2.13.2</allure.version> <aspectj.version>1.9.5</aspectj.version> <suiteXmlFile>testng.xml</suiteXmlFile> </properties><!-- testNG 依赖--> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.11</version> </dependency><build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <!-- maven构建插件,运行mvn test调用allure实现测试报告生成 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> <configuration> <argLine> -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" </argLine> <!-- 指定要执行的testng路径 --> <suiteXmlFiles> <suiteXmlFile>${suiteXmlFile}</suiteXmlFile> </suiteXmlFiles> <systemProperties> <property> <!-- 配置 allure 结果存储路径 --> <name>allure.results.directory</name> <value>${project.build.directory}/allure-results</value> </property> </systemProperties> <!-- 出现测试异常是否继续向下执行,此选项必备,防止异常测试场景导致执行中断 --> <testFailureIgnore>true</testFailureIgnore> </configuration> <dependencies> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>${aspectj.version}</version> </dependency> </dependencies> </plugin> </plugins> </build>
2、testng.xml配置
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <!-- Suite代表一个测试套件,1个suite可包含多个Test --> <suite name="casbTests"> <!-- Test代表1个测试,里面可包含多个测试class --> <test name="CasbServer" preserve-order="true" > <classes> <class name="com.ciphergateway.testcase.UserManage"/> </classes> </test> <listeners> <listener class-name="com.ciphergateway.asserts.AssertionListener"> </listener> </suite>
3、使用mvn clean test执行,执行的是配置在pom.xml里testng.xml的测试用例。
执行结果如下:
D:\java_project2021\autocasb>mvn clean test
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< com.ciphergateway:autocasb >---------------------
[INFO] Building autocasb 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ autocasb ---
[INFO] Deleting D:\java_project2021\autocasb\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ autocasb ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 11 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ autocasb ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 35 source files to D:\java_project2021\autocasb\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ autocasb ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\java_project2021\autocasb\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.3:testCompile (default-testCompile) @ autocasb ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 8 source files to D:\java_project2021\autocasb\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.22.1:test (default-test) @ autocasb ---
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running TestSuite
-->setup(),用户权限管理的接口自动化测试,Start
Excel读取完成,文件名:src/data/testcase/apiData_all.xlsx,sheet:用户权限接口用例,行数:24
接口自动化测试url地址:https://10.1.1.104
<--测试用例描述:新增角色-->
{
"permissionIdList": [
"0000",
"1000100000",
"1000101000",
"1000200000",
"1000201000"
],
"roleName": "roleName_eheeiddfai",
"roleDescribe": "JAVA AUTO INSERT角色描述"
}
测试结果:PASS,预期结果,code:0,执行返回结果:{"code":0}
<--测试用例描述:新增角色_名称为空验证-->
{
"permissionIdList": [
"0000",
"1000100000",
"1000101000",
"1000200000",
"1000201000"
],
"roleName": "",
"roleDescribe": "JAVA AUTO INSERT角色描述"
}
测试结果:PASS,预期结果,code:600001,执行返回结果:{"code":600001,"msg":"角色名称不能为空"}
<--测试用例描述:新增角色_重复验证-->
{
"permissionIdList": [
"0000",
"1000100000",
"1000101000",
"1000200000",
"1000201000"
],
"roleName": "roleName_eheeiddfai",
"roleDescribe": "JAVA AUTO INSERT角色描述"
}
测试结果:PASS,预期结果,code:600110,执行返回结果:{"code":600110,"msg":"角色名称已经存在"}
<--测试用例描述:新增角色_长度验证(目前接口未校验)-->
{
"permissionIdList": [
"0000",
"1000100000",
"1000101000",
"1000200000",
"1000201000"
],
"roleName": "longRoleName_y8bzTRztz33l34fSGcEh",
"roleDescribe": "JAVA AUTO INSERT角色描述"
}
测试结果:PASS,预期结果,code:0,执行返回结果:{"code":0}
<--测试用例描述:查询角色-->
{
"limit": 10,
"page": 1,
"sidx": "",
"order": ""
}
测试结果:PASS,预期结果,code:0,执行返回结果,code:0
1456886574540152834
<--测试用例描述:修改角色-->
{
"roleId":"1456886574540152834",
"permissionIdList": [
"0000",
"1000100000",
"1000101000",
"1000200000",
"1000201000"
],
"roleName": "roleName_new_eeahbhafih",
"roleDescribe": "JAVA AUTO Update角色描述"
}
测试结果:PASS,预期结果,code:0,执行返回结果:{"code":0}
<--测试用例描述:删除角色-->
1456886574540152834
测试结果:PASS,预期结果,code:0,执行返回结果:{"code":0}
<--测试用例描述:新增部门-->
{
"organizationName": "orgName_ifgdhfcffg",
"organizationParentId": "0",
"remark": "AUTO"
}
测试结果:PASS,预期结果,code:0,执行返回结果:{"code":0,"data":"1456886619117215746"}
<--测试用例描述:新增下级部门-->
{"organizationParentId":"1456886619117215746","organizationName":"orgName_ParentName_auto","remark":"Parent_auto"}
测试结果:PASS,预期结果,code:0,执行返回结果:{"code":0,"data":"1456886622380384258"}
<--测试用例描述:新增部门_名称为空校验(目前接口未验证)-->
{
"organizationName": "",
"organizationParentId": "0",
"remark": "AUTO"
}
测试结果:PASS,预期结果,code:0,执行返回结果:{"code":0,"data":"1456886625266065410"}
<--测试用例描述:新增部门_重复校验-->
{
"organizationName": "orgName_ifgdhfcffg",
"organizationParentId": "0",
"remark": "AUTO"
}
测试结果:PASS,预期结果,code:600126,执行返回结果:{"code":600126,"msg":"同级组织名称不能重复"}
<--测试用例描述:新增部门_长度校验(目前接口未校验)-->
{
"organizationName": "longOrgName_9xpfFua5tRjPjodSLOMl",
"organizationParentId": "0",
"remark": "AUTO"
}
测试结果:PASS,预期结果,code:0,执行返回结果:{"code":0,"data":"1456886631406526465"}
<--测试用例描述:修改部门-->
{
"organizationId": "1456886619117215746",
"organizationName": "orgName_new_gdhehaaabh",
"remark": "修改备注"
}
测试结果:PASS,预期结果,code:0,执行返回结果:{"code":0}
<--测试用例描述:删除部门_存在下级-->
1456886619117215746
测试结果:PASS,预期结果,code:600127,执行返回结果:{"code":600127,"msg":"存在下级组织"}
<--测试用例描述:删除子部门-->
1456886622380384258
测试结果:PASS,预期结果,code:0,执行返回结果:{"code":0}
<--测试用例描述:删除部门-->
1456886619117215746
测试结果:PASS,预期结果,code:0,执行返回结果:{"code":0}
<--测试用例描述:新增用户-->
{
"trueName": "trueUserName_jebdcgdefd",
"roleIdList": [
"0000",
"1000100000"
],
"organizationCodeArr": [
"0"
],
"organizationCode": "0",
"loginPassword": "userPwd_fjajijjjjj",
"mobile": "13581680989",
"userName": "userName_jdjbfcjhac",
"userDescribe": "JavaAuto用户描述",
"email": "java@auto.com"
}
测试结果:PASS,预期结果,code:0,执行返回结果:{"code":0}
<--测试用例描述:新增用户_用户名为空验证-->
{
"trueName": "trueUserName_jebdcgdefd",
"roleIdList": [
"0000",
"1000100000"
],
"organizationCodeArr": [
"0"
],
"organizationCode": "0",
"loginPassword": "userPwd_fjajijjjjj",
"mobile": "13581680989",
"userName": "",
"userDescribe": "JavaAuto用户描述",
"email": "java@auto.com"
}
测试结果:PASS,预期结果,code:600001,执行返回结果:{"code":600001,"msg":"用户名不能为空"}
<--测试用例描述:新增用户_用户名重复验证-->
{
"trueName": "trueUserName_jebdcgdefd",
"roleIdList": [
"0000",
"1000100000"
],
"organizationCodeArr": [
"0"
],
"organizationCode": "0",
"loginPassword": "userPwd_fjajijjjjj",
"mobile": "13581680989",
"userName": "userName_jdjbfcjhac",
"userDescribe": "JavaAuto用户描述",
"email": "java@auto.com"
}
测试结果:PASS,预期结果,code:600106,执行返回结果:{"code":600106,"msg":"用户名已经存在"}
<--测试用例描述:新增用户_长度验证(目前接口未校验)-->
{
"trueName": "trueUserName_jebdcgdefd",
"roleIdList": [
"0000",
"1000100000"
],
"organizationCodeArr": [
"0"
],
"organizationCode": "0",
"loginPassword": "userPwd_fjajijjjjj",
"mobile": "13581680989",
"userName": "longUserName_vm6gYnAJTFCWeO4Les3P",
"userDescribe": "JavaAuto用户描述",
"email": "java@auto.com"
}
测试结果:PASS,预期结果,code:0,执行返回结果:{"code":0}
<--测试用例描述:查询用户-->
{"page":1,"limit":20}
测试结果:PASS,预期结果,code:0,执行返回结果,code:0
1456886660745682946
[1456886693775826945]
<--测试用例描述:修改用户-->
{
"trueName": "trueUserName_new_heicbjehgh",
"roleIdList": [
"0000",
"1000100000"
],
"organizationCodeArr": [
"0"
],
"organizationCode": "0",
"loginPassword": "userPwd_fjajijjjjj",
"mobile": "13581680989",
"userName": "userName_jdjbfcjhac",
"userDescribe": "用户描述修改",
"userId": "1456886660745682946",
"email": "java@auto.com"
}
测试结果:PASS,预期结果,code:0,执行返回结果:{"code":0}
<--测试用例描述:删除用户-->
1456886660745682946
测试结果:PASS,预期结果,code:0,执行返回结果:{"code":0}
<--teardown()-->
1456886596119846914,角色新增的多余数据删除成功,{"code":0}
1456886625266065410,部门新增的多余数据删除成功,{"code":0}
1456886631406526465,部门新增的多余数据删除成功,{"code":0}
1456886693775826945,用户新增的多余数据删除成功,{"code":0}
===========用户权限管理的接口自动化测试,End===========
[INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 42.196 s - in TestSuite
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 48.939 s
[INFO] Finished at: 2021-11-06T15:30:36+08:00
[INFO] ------------------------------------------------------------------------