【代码百题计划】细化到知识点的练习题及笔试题(含参考答案),助你轻松搞定代码基础
【免费打卡学习】参与方式
0、本文文末评论区打卡,文末登录才可以打卡以及查看所有打卡记录
![]()
1、以下练习题,请用对应的知识点完成,也就是距离此题最近的二级标题(或者一级标题);
2、给代码要求说出结果的题,不一定都能正常运行,如果有编译异常或者运行时异常,需要给出原因及解决方案;
测试该学哪门语言?为啥选java?
大家可以看高薪招聘要求。
推荐一个高级(java,可能有些测试一听到java就说难,那是因为你没掌握学习方式,缺少练习),加上1-2个脚本(python、shell),很多招聘也是这么要求的,可以说是标配,如果你有精力,后续可以再学下go;脚本语言会基础即可(比如,我用python主要是造一些性能测试数据),尽量深入高级的,也就是java(Java已经发展了近20年,丰富的周边框架打造了一个繁荣稳固的生态圈,短期内很难完全被替代),而且,当前项目绝大多数是java吧(其次是go,python的太少了),我接触到的项目都是java、go。
学java的好处就是:测试应用广,自动化、测开、性能、白盒都能做,和开发无障碍交流,有问题,也可以免费问开发,何乐而不为呢?
开发会的(代码),你大概也懂,开发不会的(比如性能、自动化持续集成),你也会,妥妥的提升测试地位,再也不用抱怨被开发歧视了。
只要多练习,java真的不难,和python差不多

完成本文的练习题可以达到的能力
1、打牢java基础,轻松应对java笔试题 2、编写java接口自动化测试框架:java + testng + httpclient + allure + ... 3、熟练应用beanshell 4、完成jmeter二次开发
考考你:你真的会hello world么?
请说出下面每个单词所表示的含义、作用
package com.qzcsbj;
public class Test {
public static void main(String[] args) {
System.out.println("Hello World.");
}
}
为什么public修饰的类的类名必须与java源文件名相同?
上面类可以private、protected来修饰么?为什么只能是public和默认?
更多关于“hello world”的思考:https://www.cnblogs.com/uncleyong/p/16018215.html
工欲善其事,必先利其器
idea安装、配置、基本使用
https://www.cnblogs.com/uncleyong/p/10971923.html
idea已经放网盘,网盘地址:
链接:https://pan.baidu.com/s/17MxVRfp7A_q8uz7iFYk25w 提取码:qzbj 复制这段内容后打开百度网盘手机App,操作更方便哦
java必备基础
详见:https://www.cnblogs.com/uncleyong/p/10530261.html
参考资料:官方api文档
https://docs.oracle.com/javase/8/docs/api/index.html
java基础练习:变量、数据类型、输入、输出、运算符
练习1:判断输入的值是否是偶数,另外,要处理输入错误
(目的:熟悉输入、输出,特别是Scanner对象的方法)


练习2:输入并输出姓名、年龄、身高

练习3:从控制台获取Java、Oracle、HTML三门课程的成绩,计算总分和平均分(平均分保留2位小数,要求四舍五入;按如下格式输出)

练习4:输入一个数字,反转输出,如:输入123,输出321
![]()
练习5:输入tom和jack的年龄,比较年龄并输出相差多少岁,要求使用条件运算符

练习6:交换两个数值变量的值(至少两种方法)
练习7:下面结果分别是?说明原因
int a = 97; char b = a; System.out.println(b);
char c = 97; System.out.println(c);
int m = 3;
int n = m++ + ++m;
System.out.println("m:"+m+", n:"+n);
练习8:下面结果分别是?说明原因
public class Test {
public static void main(String[] args) {
short a=1;
a = a+1;
System.out.println(a);
}
}
public class Test {
public static void main(String[] args) {
short b=1;
b+=1;
System.out.println(b);
}
}
本节参考答案:https://www.cnblogs.com/uncleyong/p/17043874.html
java基础练习:选择结构(if、switch)
if:if...else...及if嵌套

练习2:
如果今天是周日且晴天,就出去嗨
如果今天是周日但不是晴天,睡懒觉
如果今天不是周日,继续996
说明:天气、星期几的变量,自己定义即可;主要练习if嵌套
![]()
练习3:由键盘输入三个整数分别存入变量num1、num2、num3,对它们进行排序(使用 if-else if-else),并且从小到大输出。

练习4:提示用户输入三角形的边a、b、c,范围必须在 [1,100) 之间,判断三角形的类型:1.非三角形;2.等边三角形;3.直角三角形;4.等腰三角形;5.普通三角形

switch
练习1:周一跑步,周二、三、四打羽毛球,周五游泳,其它休息
int today=4;
![]()
练习2:输入 2022 年的某个月份和日期,例如 month=4,day=21,经过程序计算,打印出输入的月份和日期是 2022年的第几天:31+28+31+21

本节参考答案:https://www.cnblogs.com/uncleyong/p/17043943.html
java基础练习:循环结构(while、do...while、for、break、continue、return)
while
练习1:输出比i(i=5)小的正整数
![]()
练习2:求1到100之间所有偶数的和
![]()

练习4:从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序

练习5:如果输入的是整数,输出是偶数还是奇数,然后结束;如果输入的不是整数,提示用户重新输入,直到输入整数

do while
练习1:下面输出结果是?说明原因
package com.qzcsbj.demo.entity;
public class T2 {
public static void main(String[] args) {
int i = 5;
do {
System.out.println(i);
i--;
}while (i>5);
}
}

for
练习1:求1到100之间所有偶数的和
![]()

练习3:任意输入一个整数,根据这个值输出加法表

练习4:打印 1-100000之间的所有素数,并统计耗时,如果耗时大于200ms,就需要优化
(素数: 有且仅有两个正约数的整数. 即 2 ~ i-1 之间没有一个是其约数)
break

continue
练习1:输出1到10之间所有的奇数
![]()
return
练习1:下面输出结果是?说明原因
package com.qzcsbj;
import java.util.Scanner;
/**
* @公众号 : 全栈测试笔记
* @博客 : www.cnblogs.com/uncleyong
* @微信 : ren168632201
* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
System.out.println(test());
test2();
}
public static int test(){
for (int i = 0; i < 5; i++) {
System.out.println(i);
if (i==1){
return i;
}
}
return 10;
}
public static void test2(){
for (int i = 0; i < 5; i++) {
System.out.println(i);
if (i==1){
return ;
}
}
System.out.println("hello");
return;
}
}
双重for循环

练习2:某次技能大赛,共有3个班参加,每个班有4名学生参加,计算每个班级的平均分(只统计成绩≥80分的学生的平均分)



练习5:打印等边三角形


本节参考答案:https://www.cnblogs.com/uncleyong/p/17043949.html
java基础练习:方法、递归
方法
练习1:定义方法(不用jdk提供的方法),计算x的y次方,如2的5次方

递归
练习1:用递归实现,计算x的y次方,如2的5次方
练习2:用递归实现,输出n(n=5)到0的整数
![]()
练习3:递归实现5的阶乘(5*4*3*2*1)
本节参考答案:https://www.cnblogs.com/uncleyong/p/17043952.html
java基础练习:数组(一维、二维、传值传地址)
一维数组
练习1:定义一个int类型数组,动态赋值,然后将数组中元素反转,最后输出,要求:动态赋值定义方法;反转定义方法

练习2:有一个数组 [1, 3, 66, 16, 28, 666, 168] ,循环输出数组中的元素并计算所有数的总和,并将最大值放到最前面,最小值放到最后面,然后输出数组

增强for
练习1:输出数组的值[1, 3, 66, 16, 28, 666, 168]
传值、传地址
练习1:下面输出结果是?说明原因
package com.qzcsbj;
import java.util.Arrays;
import java.util.Scanner;
/**
* @公众号 : 全栈测试笔记
* @博客 : www.cnblogs.com/uncleyong
* @微信 : ren168632201
* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
/*
* 基本数据类型
*/
int a = 5;
int b = a;
b = 8;
System.out.println(a);
System.out.println(b);
/*
* 引用数据类型
*/
int[] c = { 1,2,3 };
int[] d = c;
d[0] = 666;
System.out.println(Arrays.toString(c));
System.out.println(Arrays.toString(d));
change(a,c);
System.out.println(a);
System.out.println(Arrays.toString(c));
}
public static void change(int i, int[] array) {
i = 666;
array[array.length - 1] = 999;
System.out.println(i);
System.out.println(Arrays.toString(array));
}
}
二维数组(含冒泡)
练习1:输出二维数组的每个元素,int[][] d = { { 1, 2, 9 }, { 5 }, { 1, 3 }, { 9, 7, 0 } };

练习2:有2个班,每个班有3名学生,提示用户分别输入学生的成绩,将数据保存到二维数组中,并计算每个班的平均分、全校的最高分、最低分,最后输出平均分最高的班以及对应的平均分

练习3:冒泡实现排序,[9,6,4,5,3],输出:[3, 4, 5, 6, 9],要求打印每一轮每一次冒泡后的结果

不定长参数
练习1:下面的输出结果是?说明原因,另外,不定长参数的本质是什么?
package com.qzcsbj;
import java.util.Arrays;
import java.util.Scanner;
/**
* @公众号 : 全栈测试笔记
* @博客 : www.cnblogs.com/uncleyong
* @微信 : ren168632201
* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
// String[] names=new String[]{"tom","jack"};
m1(6, new String[] { "tom", "jack" });
m2(6,"tom","jack","alice");
m2(6,"tom");
m2(6);
m2(6,new String[] { "tom", "jack" });
}
public static void m1(int n, String[] args) {
System.out.println("m1");
}
public static void m2(int n,String... args){
System.out.println("不定长参数个数:"+args.length);
if (args.length > 0){
System.out.println("不定长参数第一个:"+args[0]);
}
}
}
笔试题
练习1:数组中有一个数字出现的次数超过数组长度的一半
例如:{1,2,3,2,2,2,5,4,2},数字2在数组中出现了5次,超过数组长度的一半,因此输出2
本节参考答案:https://www.cnblogs.com/uncleyong/p/17043958.html
java基础练习: 类(对象属性、对象数组)、构造方法及this、方法重载、对象初始化
类
练习1:创建一个用户类,为用户设置年龄(0-120),并打印年龄,如果设置的不合法,给出提示
![]()
练习2:定义Boy、Girl类,对象boy给对象girl求婚,且girl答复;要求,boy对象的求婚方法传入girl对象,girl对象的答复方法传入求婚的对象

练习3:分别用面向过程和面向对象的思维,计算半径为3的圆的面积
![]()
全局变量、局部变量、this
练习1:写代码演示为什么要用this,解决了什么问题?
练习2:下面结果分别是?并说明原因
public class Test {
static String str;
public static void main(String[] args)
{
static String str;
System.out.println(str);
}
}
public class Test {
static String str;
public static void main(String[] args)
{
String str;
System.out.println(str);
}
}
public class Test {
static String str;
public static void main(String[] args)
{
System.out.println(str);
}
}
对象属性
练习1:创建Person类(name,age,address),address是对象属性,Address类(province、city),创建一个Person类对象person,并给所以属性赋值,最后打印person
对象数组
练习1:定义学生类(姓名、学号),录入学生信息,并将学生保存到数组中

构造方法、this、方法重载
练习1:定义一个类(三个属性),三参构造方法中,调用两参构造方法
对象初始化顺序
练习1:写代码验证对象初始化顺序:代码块(静态、非静态)、构造
综合练习
练习1:定义一个Person类,要求:属性(name,age,phone),方法(study)并实现方法重载,实现封装,实例化多个对象,输出某个对象的信息,最后输出创建了多少对象
练习2:定义一个Card的扑克牌类的创建和洗牌
该类有两个private访问权限的字符串变量face和suit: 分别描述一张牌的牌面值(如:A、K、Q、J、10、9、…、3、2等)和花色(如:“黑桃”、“红桃”、“梅花”和“方块”)。 定义Card类中的public访问权限的构造方法,为类中的变量赋值; 定义protected访问权限的方法getFace(),得到扑克牌的牌面值; 定义protected访问权限的方法getSuit(),得到扑克牌的花色; 定义方法toString(),返回表示扑克牌的花色和牌面值字符串(如“红桃A”、“梅花10”等)。 (1)使用Card类的构造方法给deck数组的52张牌赋值,请写出实现上述功能的程序段。 (2)请编写模拟洗牌的程序段,即把数组deck中的扑克牌随机打乱存放顺序。
本节参考答案:https://www.cnblogs.com/uncleyong/p/17043964.html
java基础练习:封装、继承、多态
封装
练习1:举例演示封装的好处
继承、构造调用、super
练习1:在子类中调用父类无参、带参构造方法
方法重写
练习1:创建父类Person,子类Japan、Chinese,重写父类方法,实现子类的差异化
多态
练习1:设计几个类,实现多态,主人给宠物喂食物
笔试题
练习1:定义MyDate类,在MyDate类中覆盖equals方法,使其判断当两个MyDate类型对象的年月日都相同时,结果为ture,否则为false。
MyDate m1 = new MyDate(14, 3, 2022);
MyDate m2 = new MyDate(14, 3, 2022);

本节参考答案:https://www.cnblogs.com/uncleyong/p/17043968.html
java基础练习:抽象类、接口
笔试题
练习1:下面输出结果是?并说明原因,如有问题,修改方案至少2种
package com.qzcsbj;
/**
* @公众号 : 全栈测试笔记
* @博客 : www.cnblogs.com/uncleyong
* @微信 : ren168632201
* @描述 : <>
*/
interface A{
int x = 0;
}
class B{
int x = 1;
}
public class Test extends B implements A{
public void p(){
System.out.println(x);
}
public static void main(String[] args) {
new Test().p();
}
}
面向对象综合练习
练习1:写一个宠物超市系统(java面向对象练习题,综合运用:封装、继承、多态),需求详见:https://www.cnblogs.com/uncleyong/p/12580618.html
本节参考答案:https://www.cnblogs.com/uncleyong/p/17043973.html
java基础练习:访问修饰符、非访问修饰符
练习1:访问修饰符public、private、protected,以及不写(默认)时的区别?写代码验证
练习2:如何访问非本类的private修饰的属性、方法?
public class Person{
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
private String getName() {
return name;
}
private int getAge() {
return age;
}
}
Person p = new Person("jack", 18);

练习3:下面输出结果是?并说明原因
package com.qzcsbj;
/**
* @公众号 : 全栈测试笔记
* @博客 : www.cnblogs.com/uncleyong
* @微信 : ren168632201
* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
Person.test(2);
}
}
class Person{
public static void test(final int m){
final int n =1;
n=2;
System.out.println(n);
m=3;
System.out.println(m);
}
}
本节参考答案:https://www.cnblogs.com/uncleyong/p/17043976.html
java基础练习:常用类(Object、String、StringBuffer、包装类)
Object
练习1:根据给定的类(类的属性:name,age,phone,job),重写equals方法,要求是name,age相同,即认为对象相同,要求:不能用工具生成,自己实现的equals不能和工具生成的一样
String


上面图中输出的数组,对应0-9的出现次数
正则
练习1:一次性获取三门课程的成绩,保存到数组,然后输出

String常量池
练习1:下面输出结果是?并说明原因
package com.qzcsbj;
public class Test {
public static void main(String[] args) {
System.out.println("=========使用双引号直接创建字符串=======");
String addr = "北京";
System.out.println(Integer.toHexString(addr.hashCode()));
addr = "上海";
System.out.println(Integer.toHexString(addr.hashCode()));
String name = "jack";
System.out.println(Integer.toHexString(name.hashCode()));
String name2 = "jack";
System.out.println(Integer.toHexString(name2.hashCode()));
System.out.println("equals:" + name.equals(name2));
System.out.println("name==name2: "+(name==name2));
System.out.println();
System.out.println("=========使用构造方法创建字符串=======");
String name3 = new String("jack");
System.out.println(Integer.toHexString(name3.hashCode()));
String name4 = new String("jack");
System.out.println(Integer.toHexString(name4.hashCode()));
System.out.println("equals:" + name3.equals(name4));
System.out.println("name3==name4: "+(name3==name4));
System.out.println();
System.out.println("=========两种方式对象比较=======");
System.out.println("name==name3: "+(name==name3));
System.out.println("equals:" + name.equals(name3));
}
}
练习2:下面的输出结果是?并说明原因
String s1 = new String("qzcsbj");
String s2 = new String("qzcsbj");
String s3 = "qzcsbj";
String s4 = "qzcsbj";
String s5 = "qz";
String s6 = "csbj";
String s7 = s5 + s6;
String s8 = "qz" + "csbj";
String s9 = s5 + "csbj";
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
System.out.println(s3==s4);
System.out.println(s3.equals(s4));
System.out.println(s1==s3);
System.out.println(s1.equals(s3));
System.out.println(s3==s7);
System.out.println(s3.equals(s7));
System.out.println(s3==s8);
System.out.println(s3.equals(s8));
System.out.println(s3==s9);
System.out.println(s3.equals(s9));
System.out.println(s8==s7);
System.out.println(s8.equals(s7));
System.out.println(s9==s7);
System.out.println(s9.equals(s7));
练习3:下面的输出结果是?并说明原因
public class Test {
public static void main(String[] args) {
Integer a = 666, b = 666;
System.out.println(a == b);
Integer c = 66, d = 66;
System.out.println(c == d);
}
}
String和StringBuffer性能对比
练习1:写代码测试字符串拼接的性能,比如拼接10万次
练习2:下面输出结果是?并说明原因
package com.qzcsbj;
/**
* @公众号 : 全栈测试笔记
* @博客 : www.cnblogs.com/uncleyong
* @微信 : ren168632201
* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
String s1 = "hello";
String s2 = "java";
System.out.println(s1+ "," + s2);
test(s1,s2);
System.out.println(s1+ "," + s2);
StringBuffer stringBuffer1 = new StringBuffer("hello");
StringBuffer stringBuffer2 = new StringBuffer("java");
System.out.println(stringBuffer1+ "," + stringBuffer2);
test2(stringBuffer1,stringBuffer2);
System.out.println(stringBuffer1+ "," + stringBuffer2);
}
public static void test(String s1,String s2){
s1 = s2;
s2=s1+s2;
System.out.println(s1+ "," + s2);
}
public static void test2(StringBuffer stringBuffer1,StringBuffer stringBuffer2){
stringBuffer1 = stringBuffer2;
stringBuffer2.append(stringBuffer1);
System.out.println(stringBuffer1+ "," + stringBuffer2);
}
}
包装类
练习1:下面输出结果是?并说明原因
package com.qzcsbj;
/**
* @公众号 : 全栈测试笔记
* @博客 : www.cnblogs.com/uncleyong
* @微信 : ren168632201
* @描述 : <>
*/
public class Test {
public static void main(String[] args) {
int m = 6;
Integer n = new Integer(1);
int p = m + n;
System.out.println(p);
int x=3;
Integer y = new Integer(3);
Integer z = new Integer(3);
System.out.println(y==z);
System.out.println(x==z);
Integer integer = new Integer(10);
test(integer);
System.out.println(integer);
}
public static void test(Integer integer){
integer=666; // 修改为666
}
}
练习2:下面代码是否正确?并说明原因
Object obj=5;
笔试题
![]()
练习2:输入一个字符串,输出出现次数最多的前2个字符及出现次数
练习3:输入字符串(中间有若干个空格隔开),要求:以空格隔开,删除空格两边字符串的重复字符再输出,例:aabbbcc ddaaaffggbb变为abc dafgb(注意:输入的空格得保留下来)
本节参考答案:https://www.cnblogs.com/uncleyong/p/17043984.html
java基础练习:常用类(Date、SimpleDateFormat、Calendar、Math、Random)
Date、SimpleDateFormat
练习1:假设1910年1月1日是星期一,请写一个函数:该函数输入为1910年1月1日后的任意一天日期,格式为字符串YYYY-MM-DD,输出为该日期是星期几的英文。

Calendar
练习1:获取2008年2月有多少天
练习2:输入4位年份,输出当年2月天数,不能用判断是否闰年的方式。如:输入2019,输出的是28天
笔试题
练习1:实现一个类,打印昨天的当前时刻
本节参考答案:https://www.cnblogs.com/uncleyong/p/17043990.html
java基础练习:集合-Collection(ArrayList、LinkedList等)
ArrayList
练习1:定义Student类并创建对象,把对象放入ArrayList,循环ArrayList,打印学生信息
练习2:提示用户输入整数,存放到ArrayList集合中,输入0代表结束。分别使用for、foreach、iterator循环集合,并删除所有是3的倍数的元素
练习3:定义一个学生类Stu,属性:id、name、age
1.提示用户循环输入学生的信息,存储到ArrayList集合中
2.输出所有学生的信息
3.根据学号修改指定学生信息
4.根据学号删除学生
练习4:list1=[A,B,C],list2=[B,C,A],对比两个列表,内容相同返回ture,不同返回false
假设list中是String类型对象,下面运行结果是true
String[] strArray = {"A","B","C"};
List list1 = Arrays.asList(strArray);
String[] strArray2 = {"B","C","A"};
List list2 = Arrays.asList(strArray2);
ArrayList和LinkedList性能对比:读取操作
练习1:使用Java编程语言定义两个容器存储结构link, array分别如下:
private List<Integer> link = new LinkedList<Integer>();
private List<Integer> array = new ArrayList<Integer>();
现在要测试link和array存储10万个Integer对象,比较link与array读取这10万条存储数据的效率,请写出实现的代码。
本节参考答案:https://www.cnblogs.com/uncleyong/p/17043994.html
java基础练习:集合-Map(HashMap)、Collections工具类
练习2:统计一个字符串中每个字符出现的次数,保存到HashMap集合中
练习3:统计一个字符串中每个字符出现的次数,保存到HashMap集合中,通过排序,打印输出次数最多的前三个字符及次数
本节参考答案:https://www.cnblogs.com/uncleyong/p/17043998.html
java基础练习:异常
练习1:下面结果是?并说明原因;另外,多个catch的时候,有什么要求?
package com.qzcsbj;
public class TestException {
public static void main(String[] args) {
int[] nums = { 12, 4, 23 };
try {
System.out.println(nums[3]);
System.out.println(5 / 0);
System.out.println("try中最后的代码。。。");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("数组下标越界异常。。。:" + e.getMessage());
} catch (ArithmeticException e) {
System.out.println("算术异常。。。:" + e.getMessage());
}
System.out.println("异常之后的代码。。。");
}
}
本节参考答案:https://www.cnblogs.com/uncleyong/p/17044001.html
java基础练习:枚举、泛型
练习1:list1=[A,B,C],list2=[B,C,A],对比两个列表,内容相同返回ture,不同返回false。要求定义一个泛型方法实现(解决类型侵入的问题)
说明:A可以任意类型的对象,
比如Student对象
List<Student> stu1s = new ArrayList<>();
stu1s.add(new Student("jack",18));
stu1s.add(new Student("tom",19));
List<Student> stu2s = new ArrayList<>();
stu2s.add(new Student("tom",19));
stu2s.add(new Student("jack",18));
也可以是String对象
String[] strArray = {"A","B","C"};
List list1 = Arrays.asList(strArray);
String[] strArray2 = {"B","C","A"};
List list2 = Arrays.asList(strArray2);
本节参考答案:https://www.cnblogs.com/uncleyong/p/17044004.html
java基础练习:I/O输入输出流
练习1:获取目录下的所有文件,包括子目录下的文件
练习2:删除给定目录下的空目录(包含子目录下的),测试文件夹见Q群文件

qzcsbj(目录) |-test1(目录) |-test2(目录) |-test3(目录) |-test4(目录) |-test2.txt(文件) |-test1.txt(文件)
练习3:将一个音频文件复制一份
练习4:将一个文本文件复制一份
练习5:提示用户输入一行英文(比如:hello java),将英文单词的首尾字母大写,其它字母小写,然后逐行保存到文件test.txt中,文件内容为:
Hello Java
本节参考答案:https://www.cnblogs.com/uncleyong/p/17044010.html
java基础练习:反射
练习1:读取所有数据并保存到对象集合
List<TestCase> testcases = new ArrayList<TestCase>();
下面excel的表单名是:testcase

本节参考答案:https://www.cnblogs.com/uncleyong/p/17044014.html
★★★☆☆【应用】:java自动化前置基础
详见:https://www.cnblogs.com/uncleyong/p/17925587.html
★★★★☆【综合应用】:java接口自动化测试框架实现
java + testng + httpclient + allure + ...
详见:https://www.cnblogs.com/uncleyong/p/15867903.html
【参考答案】
上面每个章节末尾有参考答案的链接。
原文会持续更新,原文地址:https://www.cnblogs.com/uncleyong/p/15828510.html
__EOF__
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!

浙公网安备 33010602011771号