首页 > 编程语言 >java接口自动化系列(03):创建自动化框架项目

java接口自动化系列(03):创建自动化框架项目

时间:2024-01-03 14:00:39浏览次数:42  
标签:03 java log4j file 自动化 org testng appender ###

 

创建maven项目

java接口自动化系列(03):创建自动化框架项目_xml

 

输入GroupId:com.qzcsbj

输入ArtifactId:apiJavaAutoTest

java接口自动化系列(03):创建自动化框架项目_xml文件_02

 

输入Project name:apiJavaAutoTest

java接口自动化系列(03):创建自动化框架项目_xml_03

 

配置maven

修改Maven home directory和User settings file(settings.xml文件配置了阿里云镜像地址)

java接口自动化系列(03):创建自动化框架项目_apache_04

 

添加pom依赖

testng

<!-- https://mvnrepository.com/artifact/org.testng/testng -->
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.8.8</version>
            <scope>test</scope>
        </dependency>

  

log4j

<!-- https://mvnrepository.com/artifact/log4j/log4j -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

 

创建目录结构

java接口自动化系列(03):创建自动化框架项目_apache_05

 

创建配置文件

resources下创建log4j.properties

### 根logger 设置###
log4j.rootLogger = INFO,console,file

### 输出信息到控制台 ###
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) ###
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File = logs/qzcsbj.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

 

创建测试类

testcase下创建BaseCase.java,测试方法是test

package com.qzcsbj.autotest.testcase;

import org.apache.log4j.Logger;
import org.testng.annotations.*;

/**

 * @描述 : <BaseCase>
 */

public class BaseCase{
    public static Logger logger = Logger.getLogger(BaseCase.class);

    @Test
    public void test(){
        System.out.println("hello, autotest");
        logger.info("finish");
    }
}

  

创建testng的xml文件

在testngXML目录下创建testng.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.qzcsbj.autotest.testcase.BaseCase"/>
        </classes>
    </test>
</suite>

  

运行testng的xml

结果

java接口自动化系列(03):创建自动化框架项目_xml文件_06

 

__EOF__


本文作者:持之以恒(韧)
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等

标签:03,java,log4j,file,自动化,org,testng,appender,###
From: https://blog.51cto.com/qzcsbj/9084446

相关文章

  • 无涯教程-Java 正则 - X{n}+ 匹配函数
    PossesiveQuantifier[X{n}+]与存在的X个精确匹配n次。X{n}+-示例packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassPossesiveQuantifierDemo{privatestaticfinalStringREGEX="T{2}+";privatestat......
  • 2024-01-03:用go语言,给你两个长度为 n 下标从 0 开始的整数数组 cost 和 time, 分别表示
    2024-01-03:用go语言,给你两个长度为n下标从0开始的整数数组cost和time,分别表示给n堵不同的墙刷油漆需要的开销和时间。你有两名油漆匠,一位需要付费的油漆匠,刷第i堵墙需要花费time[i]单位的时间,开销为cost[i]单位的钱。一位免费的油漆匠,刷任意一堵墙的时间为1......
  • 无涯教程-Java 正则 - X++ 匹配函数
    PossesiveQuantifier[X++]与X匹配一次或多次。X++-示例packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassPossesiveQuantifierDemo{privatestaticfinalStringREGEX="T++";privatestaticfinalS......
  • java调用rust 共享库的一些方法简单说明
    java与rust的调用,核心还是基于jni进行处理,rust社区实现了不少方便的工具可以提供rust到c的处理(比如生成头文件)以下是整理的一些资料,方便学习几个不错的包jni-rs 目前还在活跃更新中,同时github的start也比较多,同时不少开源软件在用,比如questdbrobusta 一个比较新的项目,使用......
  • Cisco Secure Client 5.0.04032 (macOS, Linux, Windows & iOS, Andrord) - 思科安全
    CiscoSecureClient5.0.04032(macOS,Linux,Windows&iOS,Andrord)思科安全客户端(包括AnyConnect)作者主页:sysin.orgCiscoSecureClient(includingAnyConnect)思科安全客户端(包括AnyConnect)安全访问只是开始您的团队需要轻松访问公司资源和私有应用程序。您需要确保您的......
  • 无涯教程-Java 正则 - X*+ 匹配函数
    PossesiveQuantifier[X*+]匹配X出现零次或多次。X*+-示例packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassPossesiveQuantifierDemo{privatestaticfinalStringREGEX="T*+";privatestaticfinal......
  • javascript的Map和Set概念以及区别和使用场景
    Map和SetJavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对。但是JavaScript的对象有个小问题,就是键必须是字符串。但实际上Number或者其他数据类型作为键也是非常合理的。MapMap是一组键值对的结构,具有极快的查找速度。举个例子,假设要根......
  • 25个JavaScript One-Liner让你更专业
    今天我们分享一些单行代码技巧,了解这些技巧,可以提升我们的工作效率,现在,我们一起来看一下今天的这些单行代码技巧吧。数组1.检查变量是否是数组constisArray=Array.isArray(arr);constisArray=arrinstanceofArray;2.数字数组的和constsum=(arr)=>arr.reduce((a,b)......
  • pytest自动化测试中的fixture的声明和调用
    1.fixture的声明我们使用@pytest.fixture()来声明fixture函数。fixture()即可无参数进行声明,也可以带参数声明。示例1:@pytest.fixture()无参数进行声明[email protected]#fixture()未带任何参数,声明一个fixture函数deffixture_demo():print("这个是一......
  • 如何使用Pytest进行自动化测试
    为什么需要自动化测试自动化测试有很多优点,但这里有3个主要的点可重用性:不需要总是编写新的脚本,除非必要,即使是新的操作系统版本也不需要编写脚本。可靠性:人容易出错,机器不太可能。当运行不能跳过的重复步骤/测试时,速度会更快。全天运行:您可以在任何时间或远程启动测试。夜间运......