行业知识
java自动化之自动化框架项目(第四天-常用变量解析到map)
2026-10-19 17:06:17
来源:互联网转载
1.实现目标
常���变量解析到map,方便后面解析初始化sql或者入参的时候对变量进行替换
2.添加工具类
VariableUtil.java
package com.syq.autotest.utils;import com.syq.autotest.entity.Variable;import org.apache.log4j.Logger;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Set;/** * @description * @author: Admin * @create: 2024/2/28 14:38 */public class VariableUtil { public static Logger logger = Logger.getLogger(VariableUtil.class); // 存放变量和值的map public static Map variableMap = new HashMap(); // 从对象列表variableList中获取变量和值,放到map中 public static void loadVariablesToMap(List variableList) { for (Variable variable : variableList){ String name = variable.getName(); String value = variable.getValue(); variableMap.put(name,value); } } // 替换变量 public static String variableSubstitution(String parameters) { // 获取所有变量名 Set names = variableMap.keySet(); for (String name : names) { if (parameters.contains(name)){ parameters = parameters.replace(name,variableMap.get(name)); } } return parameters; }} 3.修改@BeforeTest修饰的方法
调用VariableUtil工具类中方法(在BaseCase.java中)
@Parameters({ "excelPath", "dataSheetName", "variableSheetName"}) @BeforeTest public void readDataFromExcel(@Optional("caseData/caseData-解决韧.xlsx") String excelPath, @Optional("case") String dataSheetName, @Optional("variables") String variableSheetName){ logger.info("excelPath: " + excelPath); logger.info("dataSheetName: " + dataSheetName); logger.info("variableSheetName: " + variableSheetName); cases = ExcelUtil.loadExcel(excelPath, dataSheetName, CaseData.class); variables = ExcelUtil.loadExcel(excelPath, variableSheetName, Variable.class); // logger.info("读取文件获取到的cases对象:" + cases); // logger.info("读取文件获取到的variables对象:" + variables); VariableUtil.loadVariablesToMap(variables); Set keys = VariableUtil.variableMap.keySet(); for (String key : keys) { System.out.println(key + "=" + VariableUtil.variableMap.get(key)); } } 4.结果演示
运行xml
通过结果可以看到,常用变量放到了map中
如需要代码,可在资源中自行下载,如有其他问题,可在评论区评论!!!
上一篇:摁主机电源没反应
下一篇:机房电脑ip在哪里?