一、测试配置
1、编写测试用例
@RunWith(SpringRunner.class)
@SpringBootTest(classes = AdminRun.class)
@AutoConfigureMockMvc
@Slf4j
public class ChannelOrderTest {
@Autowired
private OrderChannelTradeService orderChannelTradeService;
private Logger logger = LoggerFactory.getLogger (this.getClass ());
@Mock
private ProceedingJoinPoint pjp;
String custId="ff808081698b2cbc03146b32dbf90000";// 创建用户
@Before
public void setUp() throws Exception {
}
@Test
public void createAccount() throws Throwable {
System.out.println (" testNg 测试");
}
2、创建用例启动执行文件
testng.xml
<?xml version="1.0" encoding="utf-8" ?>
<suite name="TesterHome" parallel="tests" thread-count="2"> <!-- 并行地执行test套件-->
<parameter name="appURL" value="https://testerhome.com/account/sign_in"/>
<parameter name="browserType" value="chrome"/>
<parameter name="driverPath" value="C:\Program Files (x86)\Google\Chrome\Application\"/>
<test name="admin">
<classes>
<class name="ChannelOrderTest" />
<class name="AccountTest" />
</classes>
</test>
</suite>
3、配置pom.xml
可参考maven官方配置
网址:http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html
3.1、加入testng依赖
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.8</version>
<scope>test</scope>
</dependency>
3.2、加入插件执行用例
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src/test/java/testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
加入maven-surefire-plugin插件以及指定用例启动执行文件路径!
二、jenkins配置
1、被测系统和测试代码在同一项目下
在原有配置基础上修改以下配置
1563864126929.png参数:
- -DskipTests=true,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。
-
-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。
如果需要编译测试用例,建议使用第一个参数,当然第二个也行的,只不过需要改为false才行!就是不跳过的意思!
1563864373334.png
构建后操作
1563865213712.png
2、被测系统和测试代码不在同一项目下
构建触发器选择其他工程构建后触发,填写你的被测系统项目
1563864593675.png
然后构建后执行,打印报告
1563865114868.png
三、收集报告
1、执行项目
可以看到tests run!
1563865443886.png
2、生成报告!
1563865369639.png四、目录结构
.
├── pom.xml
├── src
│ ├── main
│ │ ├── java
│ │ │ ├── com
│ │ │ │ └── k3
│ │ │ │ └── npc
│ │ │ │ └── admin
│ │ │ │ ├── AdminRun.java
│ │ │ │ ├── common
│ │ │ │ │ ├── action
│ │ │ │ │ │ └── aop
│ │ │ │ │ ├── annotation
│ │ │ │ │ │ └── InsertLog.java
│ │ │ │ │ ├── configuration
│ │ │ │ │ │ ├── ConfigurerAdapter.java
│ │ │ │ │ │ ├── redis
│ │ │ │ │ │ ├── StarCommandLineRunner.java
│ │ │ │ │ │ └── swagger2
│ │ │ │ │ ├── contants
│ │ │ │ │ │ └── SystemContants.java
│ │ │ │ │ └── enums
│ │ │ │ │ └── AdminEnums.java
│ │ │ │ ├── modules
│ │ │ │ │ ├── adjust
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ ├── request
│ │ │ │ │ │ ├── response
│ │ │ │ │ │ └── service
│ │ │ │ │ ├── basic
│ │ │ │ │ │ ├── contract
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ └── service
│ │ │ │ │ ├── cap
│ │ │ │ │ │ ├── contract
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ ├── service
│ │ │ │ │ │ └── utils
│ │ │ │ │ ├── cashier
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ ├── request
│ │ │ │ │ │ ├── response
│ │ │ │ │ │ └── service
│ │ │ │ │ ├── cust
│ │ │ │ │ │ ├── contract
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ ├── request
│ │ │ │ │ │ ├── response
│ │ │ │ │ │ └── service
│ │ │ │ │ ├── monitor
│ │ │ │ │ │ ├── config
│ │ │ │ │ │ ├── contract
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ └── service
│ │ │ │ │ ├── security
│ │ │ │ │ │ ├── config
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ ├── jwt
│ │ │ │ │ │ ├── security
│ │ │ │ │ │ └── service
│ │ │ │ │ └── system
│ │ │ │ │ ├── contract
│ │ │ │ │ ├── controller
│ │ │ │ │ └── service
│ │ │ │ └── util
│ │ │ │ ├── SecurityContextUtil.java
│ │ │ │ └── SendHelp.java
│ │ │ └── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── resources
│ │ ├── banner.txt
│ │ ├── config
│ │ │ ├── application-dev.yml
│ │ │ ├── application-prod.yml
│ │ │ ├── application-release.yml
│ │ │ ├── application-test.yml
│ │ │ └── application.yml
│ │ ├── log4jdbc.log4j2.properties
│ │ ├── logback-spring.xml
│ │ └── template
│ │ └── email
│ │ └── email.ftl
│ └── test
│ └── java
│ ├── AccountTest.java
│ ├── ChannelOrderTest.java
│ └── testng.xml
└── target
├── classes
│ ├── banner.txt
│ ├── com
│ │ └── k3
│ │ └── npc
│ │ └── admin
│ │ ├── AdminRun.class
│ │ ├── common
│ │ │ ├── action
│ │ │ │ └── aop
│ │ │ │ └── InsertLogAspect.class
│ │ │ ├── annotation
│ │ │ │ └── InsertLog.class
│ │ │ ├── configuration
│ │ │ │ ├── ConfigurerAdapter.class
│ │ │ │ ├── redis
│ │ │ │ │ ├── FastJsonRedisSerializer.class
│ │ │ │ │ ├── RedisConfig.class
│ │ │ │ │ └── StringRedisSerializer.class
│ │ │ │ ├── StarCommandLineRunner.class
│ │ │ │ └── swagger2
│ │ │ │ ├── SwaggerConfig.class
│ │ │ │ ├── SwaggerDataConfig$1.class
│ │ │ │ ├── SwaggerDataConfig.class
│ │ │ │ └── SwaggerDataConfig$Page.class
│ │ │ ├── contants
│ │ │ │ └── SystemContants.class
│ │ │ └── enums
│ │ │ └── AdminEnums.class
│ │ ├── modules
│ │ │ ├── adjust
│ │ │ │ ├── controller
│ │ │ │ │ ├── PastAccountController.class
│ │ │ │ │ ├── PastRecordController.class
│ │ │ │ │ └── SujectInfoController.class
│ │ │ │ ├── request
│ │ │ │ │ ├── PastAccountRequest.class
│ │ │ │ │ ├── PastIdRequest.class
│ │ │ │ │ ├── PastRecordRequest.class
│ │ │ │ │ └── SujectInfoRequest.class
│ │ │ │ ├── response
│ │ │ │ │ ├── PastAccountResponse.class
│ │ │ │ │ ├── PastRecordResponse.class
│ │ │ │ │ └── SujectInfoResponse.class
│ │ │ │ └── service
│ │ │ │ ├── impl
│ │ │ │ ├── PastAccountService.class
│ │ │ │ ├── PastRecordService.class
│ │ │ │ └── SujectInfoService.class
│ │ │ ├── basic
│ │ │ │ ├── contract
│ │ │ │ │ ├── request
│ │ │ │ │ └── response
│ │ │ │ ├── controller
│ │ │ │ │ ├── AdvertisingDeatilController.class
│ │ │ │ │ ├── AdvertisingInfoController.class
│ │ │ │ │ ├── AppVersionController.class
│ │ │ │ │ ├── BasicDataPlaceController.class
│ │ │ │ │ ├── BasicJointDataController.class
│ │ │ │ │ ├── ChannelInfoController.class
│ │ │ │ │ ├── NoticeInfoController.class
│ │ │ │ │ ├── SendRecviceLogController.class
│ │ │ │ │ ├── SmsMessageController.class
│ │ │ │ │ └── SmsTemplateController.class
│ │ │ │ └── service
│ │ │ │ ├── AdvertisingDeatilService.class
│ │ │ │ ├── AdvertisingInfoService.class
│ │ │ │ ├── AppVersionService.class
│ │ │ │ ├── BasicDataPlaceService.class
│ │ │ │ ├── BasicJointDataService.class
│ │ │ │ ├── ChannelInfoService.class
│ │ │ │ ├── dto
│ │ │ │ ├── impl
│ │ │ │ ├── NoticeInfoService.class
│ │ │ │ ├── SendRecviceLogService.class
│ │ │ │ ├── SmsMessageService.class
│ │ │ │ └── SmsTemplateService.class
│ │ │ ├── cap
│ │ │ │ ├── contract
│ │ │ │ │ ├── request
│ │ │ │ │ └── response
│ │ │ │ ├── controller
│ │ │ │ │ ├── CapAccountCodeController.class
│ │ │ │ │ ├── CapAccountController.class
│ │ │ │ │ ├── CapAccountFlowController.class
│ │ │ │ │ ├── CapBankController.class
│ │ │ │ │ ├── CapFrozenController.class
│ │ │ │ │ ├── CapFrozenFlowController.class
│ │ │ │ │ ├── MarkCodeController.class
│ │ │ │ │ └── MarkDetailController.class
│ │ │ │ └── service
│ │ │ │ ├── CapAccountCodeService.class
│ │ │ │ ├── CapAccountFlowService.class
│ │ │ │ ├── CapAccountService.class
│ │ │ │ ├── CapBankService.class
│ │ │ │ ├── CapExtractService.class
│ │ │ │ ├── CapFrozenFlowService.class
│ │ │ │ ├── CapFrozenService.class
│ │ │ │ ├── CapPayAlipayOrderService.class
│ │ │ │ ├── impl
│ │ │ │ ├── MarkCodeService.class
│ │ │ │ ├── MarkDetailService.class
│ │ │ │ └── utils
│ │ │ ├── cashier
│ │ │ │ ├── controller
│ │ │ │ │ ├── ChannelParameterController.class
│ │ │ │ │ ├── CpConfigController.class
│ │ │ │ │ ├── DeskInfoController.class
│ │ │ │ │ ├── OrderChannelTradeController.class
│ │ │ │ │ ├── OrderIncomeController.class
│ │ │ │ │ ├── OrderInfoController.class
│ │ │ │ │ ├── OrderQueryController.class
│ │ │ │ │ ├── OrderRefundController.class
│ │ │ │ │ └── PayInfoController.class
│ │ │ │ ├── request
│ │ │ │ │ ├── ChannelParameterRequest.class
│ │ │ │ │ ├── CpConfigRequest.class
│ │ │ │ │ ├── CreateOrderRequest.class
│ │ │ │ │ ├── DeskConfigRequest.class
│ │ │ │ │ ├── DeskInfoAddRequest.class
│ │ │ │ │ ├── DeskInfoRequest.class
│ │ │ │ │ ├── OrderChannelTradeRequest.class
│ │ │ │ │ ├── OrderIdRequest.class
│ │ │ │ │ ├── OrderIncomeRequest.class
│ │ │ │ │ ├── OrderInfoRequest.class
│ │ │ │ │ ├── OrderQueryRequest.class
│ │ │ │ │ ├── OrderRefundRequest.class
│ │ │ │ │ └── PayInfoRequest.class
│ │ │ │ ├── response
│ │ │ │ │ ├── ChannelParameterResponse.class
│ │ │ │ │ ├── CpConfigResponse.class
│ │ │ │ │ ├── CreateOrderResponse.class
│ │ │ │ │ ├── DeskConfigResponse.class
│ │ │ │ │ ├── DeskInfo3kResponse.class
│ │ │ │ │ ├── DeskInfoResponse.class
│ │ │ │ │ ├── OrderChannelTradeResponse.class
│ │ │ │ │ ├── OrderDetailResponse.class
│ │ │ │ │ ├── OrderIncomeResponse.class
│ │ │ │ │ ├── OrderInfoResponse.class
│ │ │ │ │ ├── OrderQueryResponse.class
│ │ │ │ │ ├── OrderRefundResponse.class
│ │ │ │ │ └── PayInfoResponse.class
│ │ │ │ └── service
│ │ │ │ ├── ChannelParameterService.class
│ │ │ │ ├── CpConfigService.class
│ │ │ │ ├── DeskConfigService.class
│ │ │ │ ├── DeskInfoService.class
│ │ │ │ ├── impl
│ │ │ │ ├── OrderChannelTradeService.class
│ │ │ │ ├── OrderIncomeService.class
│ │ │ │ ├── OrderInfoService.class
│ │ │ │ ├── OrderQueryService.class
│ │ │ │ ├── OrderRefundService.class
│ │ │ │ └── PayInfoService.class
│ │ │ ├── cust
│ │ │ │ ├── contract
│ │ │ │ │ ├── request
│ │ │ │ │ └── response
│ │ │ │ ├── controller
│ │ │ │ │ └── CustInfoController.class
│ │ │ │ ├── request
│ │ │ │ │ └── CustInfoRequest.class
│ │ │ │ ├── response
│ │ │ │ │ └── CustInfoResponse.class
│ │ │ │ └── service
│ │ │ │ ├── CustInfoService.class
│ │ │ │ └── impl
│ │ │ ├── monitor
│ │ │ │ ├── config
│ │ │ │ │ ├── LogFilter.class
│ │ │ │ │ ├── LoggerQueue.class
│ │ │ │ │ ├── WebSocketConfig$1.class
│ │ │ │ │ └── WebSocketConfig.class
│ │ │ │ ├── contract
│ │ │ │ │ └── response
│ │ │ │ ├── controller
│ │ │ │ │ ├── LimitController.class
│ │ │ │ │ └── RedisController.class
│ │ │ │ └── service
│ │ │ │ ├── impl
│ │ │ │ └── RedisService.class
│ │ │ ├── security
│ │ │ │ ├── config
│ │ │ │ │ └── SecureConfig.class
│ │ │ │ ├── controller
│ │ │ │ │ └── AuthenticationController.class
│ │ │ │ ├── jwt
│ │ │ │ │ └── JwtTokenUtil.class
│ │ │ │ ├── security
│ │ │ │ │ ├── AuthenticationToken.class
│ │ │ │ │ ├── AuthorizationUser.class
│ │ │ │ │ ├── JwtAuthenticationEntryPoint.class
│ │ │ │ │ ├── JwtAuthorizationTokenFilter.class
│ │ │ │ │ └── JwtUser.class
│ │ │ │ └── service
│ │ │ │ └── JwtUserDetailsService.class
│ │ │ └── system
│ │ │ ├── contract
│ │ │ │ ├── request
│ │ │ │ └── response
│ │ │ ├── controller
│ │ │ │ ├── AttachmentInfoController.class
│ │ │ │ ├── AttachmentTypeController.class
│ │ │ │ ├── DictInfoController.class
│ │ │ │ ├── DictItemController.class
│ │ │ │ ├── LogController.class
│ │ │ │ ├── MenuController.class
│ │ │ │ ├── PermissionController.class
│ │ │ │ ├── RoleController.class
│ │ │ │ ├── UploadController.class
│ │ │ │ └── UserController.class
│ │ │ └── service
│ │ │ ├── AttachmentInfoService.class
│ │ │ ├── AttachmentTypeService.class
│ │ │ ├── DictInfoService.class
│ │ │ ├── DictItemService.class
│ │ │ ├── dto
│ │ │ ├── impl
│ │ │ ├── LogQueryService.class
│ │ │ ├── LogQueryService$Spec.class
│ │ │ ├── LogService.class
│ │ │ ├── mapper
│ │ │ ├── MenuService.class
│ │ │ ├── PermissionService.class
│ │ │ ├── RoleService.class
│ │ │ └── UserService.class
│ │ └── util
│ │ ├── SecurityContextUtil.class
│ │ └── SendHelp.class
│ ├── config
│ │ ├── application-dev.yml
│ │ ├── application-prod.yml
│ │ ├── application-release.yml
│ │ ├── application-test.yml
│ │ └── application.yml
│ ├── log4jdbc.log4j2.properties
│ ├── logback-spring.xml
│ └── template
│ └── email
│ └── email.ftl
├── generated-sources
│ └── annotations
│ └── com
│ └── k3
│ └── npc
│ └── admin
│ └── modules
│ └── system
│ └── service
├── generated-test-sources
│ └── test-annotations
├── maven-archiver
│ └── pom.properties
├── maven-status
│ └── maven-compiler-plugin
│ ├── compile
│ │ └── default-compile
│ │ ├── createdFiles.lst
│ │ └── inputFiles.lst
│ └── testCompile
│ └── default-testCompile
│ ├── createdFiles.lst
│ └── inputFiles.lst
├── npc-admin.jar
├── npc-admin.jar.original
├── surefire-reports
│ ├── bullet_point.png
│ ├── collapseall.gif
│ ├── emailable-report.html
│ ├── failed.png
│ ├── index.html
│ ├── jquery-1.7.1.min.js
│ ├── junitreports
│ │ └── TEST-ChannelOrderTest.xml
│ ├── navigator-bullet.png
│ ├── old
│ │ ├── index.html
│ │ └── TesterHome
│ │ ├── admin.properties
│ │ ├── classes.html
│ │ ├── groups.html
│ │ ├── index.html
│ │ ├── main.html
│ │ ├── methods-alphabetical.html
│ │ ├── methods.html
│ │ ├── methods-not-run.html
│ │ ├── reporter-output.html
│ │ ├── testng.xml.html
│ │ └── toc.html
│ ├── passed.png
│ ├── skipped.png
│ ├── TesterHome
│ │ ├── admin.html
│ │ └── admin.xml
│ ├── testng.css
│ ├── testng-reports.css
│ ├── testng-reports.js
│ ├── testng-results.xml
│ ├── TestSuite.txt
│ └── TEST-TestSuite.xml
└── test-classes
├── AccountTest.class
└── ChannelOrderTest.class
网友评论