1.前言
idea版本为2023.2
java版本为17.0.9

技术栈:
javase:封装、泛型、反射、jdbc等
testng:开源测试框架,是从Junit继承而来
httpclient:java提供的与服务端http接口进行交互的库
fastjson:处理json字符串、json数组
jsonpath:解析json数据
poi:操作excel
allure:测试报告
2.创建maven项目
(1)创建项目 File -> new -> project

(2)选择 new project 中有 build system 选择maven

输入GroupId:com.syq
输入ArtifactId:autoProject
3.配置maven
参考以下链接的第6点
idea2023创建spring boot项目,并在本地运行起来(最详细保姆教程)_java项目怎么在本地运行-CSDN博客
4.添加pom依赖
先在pom.xml中加一对dependencies标签
<dependencies></dependencies>
再在这标签中加入如下代码
XML
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.8</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>

5. 创建目录结构
(1)目录结构规划
html
├─caseData 存放测试数据,比如excel文件
├─logs 存放日志文件
├─src
│ ├─main
│ │ ├─java
│ │ └─resources
│ └─test
│ ├─java
│ │ └─com
│ │ └─qzcsbj
│ │ └─autotest
│ │ ├─entity 实体类
│ │ ├─testcase 测试用例
│ │ └─utils 工具类
│ └─resources 配置
└─testngXML 存放testng.xml文件

注意:
resources的创建,直接输入该名称,会自动提示
如果不会提示:请参考以下链接
idea中新建resources文件夹步骤_idea创建resources文件夹-CSDN博客

6.创建配置文件
resources下创建log4j.properties
XML
### 根logger 设置###
#log4j.rootLogger = INFO, console, file指的是将日志级别设置为INFO,
# 并且将日志输出到名为console和file的两个Appender
log4j.rootLogger = INFO,console,file
### 输出信息到控制台 ###
# 配置console appender
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = [%p] %d{HH:mm:ss} method: %l----%m%n
### 输出INFO级别以上的日志文件设置(因为根配置的是INFO) ###
# 配置file appender
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File = logs/syq.log
log4j.appender.file.Append = true
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern = %d{HH:mm:ss} method: %l - [ %p ] ----%m%n
7.创建测试类
testcase下创建BaseCase.java,测试方法是test
java
package com.syq.autotest.testcase;
import org.testng.annotations.*;
import org.testng.log4testng.Logger;
/**
* @description
* @author: Admin
* @create: 2024/1/26 16:21
*/
public class BaseCase {
public static Logger logger = Logger.getLogger(BaseCase.class);
@Test
public void test(){
System.out.println("hello, autotest");
logger.info("finish");
}
}
8.创建testng的xml文件
在testngXML目录下创建testng.xml文件,指定测试类
XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="apiAutoTest" verbose="1">
<test name="test" enabled="true"> <!--test必须有name属性-->
<classes>
<class name="com.syq.autotest.testcase.BaseCase"/>
</classes>
</test>
</suite>
9.运行testng的xml
结果

10.运行中遇到的问题
(1)Cannot find class in classpath:xxx(明明路径没有问题)


原因一(可能项目构建有问题):
退出idea编译器,重新打开该项目,会发现项目的目录没有显示

①选中 File
- Project Structure...
②点击左侧栏的:Modules 然后找到:+
这里有可能已经存在目录,此时可以在这个页面直接 -
(删除),然后再点击 +
选择 import Module
选中要导入的项目

③导入的模块的选择,根据项目的需要自行选择

导入后,应该能显示完整的项目目录了
再运行试试:

原因二:可能TestNG XML插件没有安装

如果不是原因一,可试试安装此插件
注意:第一天的代码已上传到资源绑定中,如有需要可自行下载!!!