java自动化之创建自动化框架项目(第一天)

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插件没有安装

如果不是原因一,可试试安装此插件

注意:第一天的代码已上传到资源绑定中,如有需要可自行下载!!!

相关推荐
Kookoos4 小时前
Dynamics 365 Finance + Power Automate 自动化凭证审核
运维·自动化·dynamics 365·power automate
半导体守望者15 小时前
ADVANTEST R3764 66 R3765 67爱德万测试networki connection programming网络程序设计手册
经验分享·笔记·功能测试·自动化·制造
东方佑19 小时前
使用 Python 自动化 Word 文档样式复制与内容生成
python·自动化·word
会又不会20 小时前
JMeter-SSE响应数据自动化2.0
jmeter·自动化
新加坡内哥谈技术1 天前
Meta计划借助AI实现广告创作全自动化
运维·人工智能·自动化
集成显卡1 天前
PlayWright | 初识微软出品的 WEB 应用自动化测试框架
前端·chrome·测试工具·microsoft·自动化·edge浏览器
b***25111 天前
动力电池点焊机:驱动电池焊接高效与可靠的核心力量|比斯特自动化
人工智能·科技·自动化
沉到海底去吧Go1 天前
【行驶证识别成表格】批量OCR行驶证识别与Excel自动化处理系统,行驶证扫描件和照片图片识别后保存为Excel表格,基于QT和华为ocr识别的实现教程
自动化·ocr·excel·行驶证识别·行驶证识别表格·批量行驶证读取表格
Iamccc13_1 天前
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
人工智能·数据分析·自动化
keson要进步1 天前
CICD实战(一) -----Jenkins的下载与安装
运维·ci/cd·centos·自动化·jenkins