首页 > 其他分享 >自动化测试框架-数据读取

自动化测试框架-数据读取

时间:2024-04-28 23:11:49浏览次数:22  
标签:Map String 框架 json testCaseName 自动化 new array 读取

 

1.准备数据:数据格式为{json},放在json文件内,例如这样:

 

 

 

2.工具类:读取.json文件,保存在Map<testCaseName,JSONObject>内

public static Map<String, JSONObject> jsonToSearchFilter(String fileName) throws IOException {
        Map<String, JSONObject> result = new HashMap<>();
        StringBuffer buffer = new StringBuffer();
        String dataPath = System.getProperty("user.dir") + "/src/main/resources/data/" + fileName;
        BufferedReader br = new BufferedReader(new FileReader(new File(dataPath)));
        String line = "";
        while ((line = br.readLine()) != null) {
            buffer.append(line);
        }
        String jsonData = buffer.toString();

        try {
            JSONArray array = JSONObject.parseArray(jsonData);//将json格式的字符串转换成JSONObject 对象
            for (int i = 0; i < array.size(); i++) {
                JSONObject jsonObj = (JSONObject) array.get(i);     //将array中的数据进行逐条转换
                String testCaseName = jsonObj.getString("testCaseName");
                result.put(testCaseName, jsonObj);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }

 

3.

3.1在init类里初始化数据:

public Map<String, JSONObject> testData = new HashMap<>();

testData = DataUtils.jsonToSearchFilter("fileName.json");

 

3.2 测试用例类继承init类,在具体测试方法里找到具体的数据:content

data = testData.get("key");      // HashMap.get(key),返回该key(testCaseName)对应的jsonObject
content = data.getJSONObject("data");

 

标签:Map,String,框架,json,testCaseName,自动化,new,array,读取
From: https://www.cnblogs.com/jinziguang/p/18164705

相关文章

  • python读取文件指定行的三种方法
    1.行遍历实现在python中如果要将一个文件完全加载到内存中,通过file.readlines()即可,但是在文件占用较高时,我们是无法完整的将文件加载到内存中的,这时候就需要用到python的file.readline()进行迭代式的逐行读取:filename='hello.txt'withopen(filename,'r')asfile:l......
  • dotnet appsettings 配置文件读取
    Console.Config\Program.csusingMicrosoft.Extensions.Configuration;varbasePath=Directory.GetCurrentDirectory();varconfiguration=newConfigurationBuilder().SetBasePath(basePath)//设置基本路径.AddJsonFile("appsettings.json")//添......
  • 前端框架
    后台管理系统是我们许多信息化项目必不可少的子系统。使用Vue作为后台管理系统或者业务系统的前端框架,开发起来非常便利,因为Vue是前端三大主流框架之一,也是目前最火的一个前端框架,拥有强大的社区支持。Vue作为一套构建用户界面的框架,关注视图层,它不仅易于上手,还便于与第三方库或既......
  • Util 应用框架 UI 全新升级
    UtilUI已经开发多年,并在多家公司的项目使用.不过一直以来,UtilUI存在一些缺陷,始终未能解决.最近几个月,Util团队下定决心,终于彻底解决了所有已知缺陷.Util应用框架UI介绍Util应用框架UI建立在Angular,Ng-Zorro,Ng-Alain基础之上,用于开发企业中后台.......
  • Chrome-selenium IDE UI自动化
         随着日益发展,自动化测试,逐渐成为测试工程师必要掌握条件之一,自动化测试分为UI自动化、接口自动化。本文这里介绍的WEB网页UI自动化,依托于浏览器插件实现UI自动化,纯小白都可以实现,无需代码功底。非常有趣的小工具。 首先,我们需要在插件市场下载一个插件,Chrome-se......
  • idea插件之apifox自动化测试
    /***测试apifox插件自动化读取*/@RestController@RequestMapping("/api")publicclassSwaggerApiFoxController{/***这是一个测试方法*@return*/@RequestMapping("/test")publicStringtest(){return"test";}}1......
  • APP 移动应用自动化 Appium 2.0 使用笔记(一)
    APP移动应用自动化Appium2.0使用笔记(一)为什么要升级到Appium2.0?最主要的原因就是:自2022年1月1日起,Appium团队不再维护或支持Appium1。所有官方支持的平台驱动程序仅与Appium2兼容。目录安装Appium2.0启动Appium2.0安装注意,你如果已经安装了原Appium1......
  • 自动化测试定位方式那么多,应该选哪个?
    简介定位策略是用于在自动化测试中定位移动应用界面元素的方法和策略。通过选择合适的定位策略,测试人员可以定位和操作应用程序的各种控件,如按钮、文本框、下拉列表等。常见的定位策略包括ID定位、XPath定位、ClassName定位、AccessibilityID定位、Name定位、XPath模糊定......
  • 办公自动化系统(OA)
    一、中英文名称中文名称:办公自动化系统英文名称:OfficeAutomationSystem(简称OA系统)二、定义办公自动化系统(OA系统)是一个集成了先进计算机技术和通信技术,以自动化方式处理办公业务和信息的系统。它旨在替代传统的手动或重复性办公活动,实现信息的高效处理、共享和存储,以提高工作......
  • Go的Gin框架中使用Cgo调用Python的CApi调用Python代码
    在Gin项目中定义Services用以唤起Python,值得注意的是需要在引入Python.h前使用#cgo声明依赖库packagecpython//#cgoCFLAGS:-I"Q:/Sill-/anaconda/envs/poetry/include"//#cgoLDFLAGS:-L"Q:/Sill-/anaconda/envs/poetry/libs"-lpython311//#include<Python.h>imp......