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文件内容,并转成数组,最后遍历数组输出。