8. 【Java基础】HashMap集合与Maven管理工具&Excel操作

json格式的数据(key-value - 键值对):

{“phone”:“13323234545”,“pwd”:“123456”}

一:HashMap集合

HashMap概述

在自动化测试中,很多情况下测试数据是键-值这种类型,通过HashMap集合可以满足存储需要。

特点

以键值对的形式来保存数据
键名不可以重复,重复时,后者键值对覆盖前者,值是可以重复的
键和值支持的数据类型-引用类型
HashMap常用Api
添加数据

put(…) 

取值

get(…)

移除

remove(…)

获取所有的键名

keyset(…)

获取所有的键值

values(…)

获取集合大小

size()

包含指定的键

containsKey(…)

包含指定的值

containsValue(…)…

遍历HashMap

1.遍历获取所有的键、再获取对应值

Set<String> keySet = hashMap.keySet();
for(String key : keySet){
    System.out.println("键:"+key);
    System.out.println("值"+hashMap.get(key));
}

2.迭代获取所有的值

Collection<String> values = hashMap.values();
for(String value : values){
    System.out.println(value);
}

3.遍历获取所有的键值对

Set<Entry<String,String>> entries = hashMap.entrySet();
for(Entry<String,String> entry : entries){
    System.out.println("键:"+entry.getKey()+",值:"+entry.getValue());
}

二:Maven与Excel操作

Maven是一个项目管理工具,目前大部分企业在做Java项目时首选的项目构建与管理工具

Maven作用

可以使用maven来编译执行/打包你的代码
maven可以在线管理依赖,依赖也很方便获取
maven提供了一些丰富的插件,方便项目自动化测试持续集成

Maven仓库与坐标

仓库

在统一的位置存储各种依赖、插件,仓库就是存放依赖和插件的地方。

1、Maven本地仓库

是本地计算机上的一个目录(文件夹),用来储存本地所有项目所需的依赖、插件等。

2、Maven中央仓库

Maven团队维护的仓库,http://repo1.maven.org/maven2,国内访问速度很慢。

3、Maven远程仓库

一般使用国内镜像或者公司自己搭建私服(看公司的情况),加快依赖、插件下载速度。

坐标

描述仓库中资源的位置,需要的资源是什么名字,属于哪个公司,版本号是什么。

通常情况下,绝大部分依赖的 Maven 坐标都能在 https://mvnrepository.com/ 中获取。

Maven在读取到坐标后,根据坐标信息优先在本地仓库中寻找资源,如果没有则在中央仓库/远程仓库中寻找。

Maven安装与配置

官网下载Maven工具包
http://maven.apache.org/download.cgi

步骤一:安装Maven、配置环境变量

安装JDK(1.8)、配置JAVA_HOME
Maven工具包解压到本地文件夹
配置MAVEN_HOME环境变量,指向Maven文件夹
将Maven bin目录添加到PATH:%MAVEN_HOME%\bin;
验证:mvn -version
步骤二:Maven全局配置文件修改(建议大家替换我发的Settings.xml文件)-- 建议大家拿到我的Settings.xml配置覆盖你的

打开maven根目录下的conf目录

编辑settings.xml

找到localRepository注释

指定本地仓库路径

D:\maven_repository
配置镜像仓库地址

<mirrors>
    <mirror>
        <id>nexus-aliyun</id>
        <name>Nexus aliyun</name>
        <mirrorOf>central</mirrorOf>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
</mirrors>

步骤三:Intellij IDEA指定Maven配置文件

File->Settings->搜索maven

修改Maven home directory 指向本地maven家目录
修改User Settings file指向用户自定义配置文件(Settings.xml文件)

File->New Project Settings->Settings for New Projects->搜索maven

修改Maven home directory 指向本地maven家目录
修改User Settings file指向用户自定义配置文件(Settings.xml文件)

Maven项目创建
Maven项目创建选项说明

Group Id

一般填写组织机构,如com.lemon

Artifact Id

项目名

Version

版本

Maven项目结构

src/main/java

一般是开发人员写代码的目录

src/main/resources

开发人员放项目资源文件的目录

src/test/java

放单元测试(或测试人员)代码的目录

src/test/resources

放测试资源文件的目录

External Libraries

通过maven拿下来的项目依赖包存放目录

target

存放构建后文件的目录

创建的Maven没有src/test/resources目录解决方案:

File->Project Structure->Modules->Sources

在src->test下新建文件夹resources
点击Resources将resources文件夹标记为Resources资源目录

pom.xml配置文件
POM,即项目对象模型,是Maven工作的基本单位,其中pom.xml包含项目构建的各种配置信息。

pom.xml 添加依赖:

<dependencies>
    <dependency>
        ...
    </dependency>
</dependencies>

添加完dependency到依赖包拿下来可能会需要等待一会时间,下载下来以后就会出现在External Libraries这一栏下

Excel操作

在自动化测试过程中,很多时候我们会将测试数据保存在Excel中,实现自动化测试脚本与测试数据分离,利于后期维护。

POI,Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能

Easy Excel, 阿里开源的一个基于Java的简单、省内存的读写 Excel 的开源项目

开源项目地址:https://github.com/alibaba/easyexcel
官方文档地址:https://easyexcel.opensource.alibaba.com/docs/current/
步骤一:引入Easy Excel依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.0.5</version>
</dependency>

步骤二:创建Excel对应的实体类

对照Excel表格信息比如列名(比如 “姓名”)和列的数据类型(比如字符串),创建一个对应的类,用来在 Java 中表示表格的信息。

public class ExcelData {
    private String username;
    private int age;
    private String expected;
    //getter & setter方法
}

读取Excel

//读取指定Sheet 
List<ExcelData> list = EasyExcel.read("filePath").
                head(ExcelData.class).sheet("Sheet1").doReadSync();
//读取全部Sheet
List<ExcelData> list = EasyExcel.read("filePath").
                head(ExcelData.class).doReadAllSync();

写入Excel

List<ExcelData> dataList = xxx;
EasyExcel.write("filePath", ExcelData.class)
                .sheet("Sheet1").doWrite(dataList);

作业
1、新建一个类HashMapTest,使用今天上课讲到的HashMap操作完成下面的要求:

有两个班级,一个是“1801”班,一个是“1802”班,“1801”班有三个学生studentA、studentB、studentC,“1802”班有两个学生studentD、studentE。

studentA:name-张三,age-25,gender-男
studentB:name-李四,age-26,gender-男
studentC:name-小花,age-27,gender-女
studentD:name-小明,age-28,gender-男
studentE:name-小红,age-29,gender-女
(1)请用map保存好两个班级的学生数据,每个班级底下保存对应学生的信息,请思考map集合的键和值应该用什么类型。

(2)通过两种循环遍历map集合,取出每个班级底下的学员数据,并输出。

2、配置好Maven环境(不需要提交作业),通过EasyExcel技术读取附件中的Excel文件内容,并转成数组,最后遍历数组输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值