自动化工具 求问!是否有办法动态地将驱动数据键值映射成一个测试类的同名变量

cookie · 2018年04月19日 · 最后由 hello 回复于 2018年04月20日 · 1792 次阅读

现状

目前公司的自动化数据驱动实现都是通过将 csv 文件读取成一个 HashMap,然后通过 get(key) 这种方式来获取数据的值

希望的改进

能够动态的将 HashMap 键对映射成测试类的同名变量,如 String key = value,这样的形式,各位大神有没有什么改进建议,感觉每次都要写一堆获取数据的代码很浪费时间

共收到 7 条回复 时间 点赞

反射了解一下

同 dongdong 大神的看法
直接上马。

Class<YourClass> clazz = YourClass.class;
Object  obj = clazz.newInstance();
for(Object key:yourMp.keySet()){
    String setkey = (String) key;
    String val = (String) props.get(key);
    Field fld = clazz.getDeclaredField(setkey);
    fld.setAccessible(true);
    fld.set(obj, val);
}
打完收工
hellohell 回复

我觉得数据驱动这个在现在还是有使用价值的,不过就是要进行优化

hello 回复

感谢,我先去试试看能不能满足需求

hello 回复

感谢,算是有个方向了,不过这个 newInstance 出来的对象引用得塞到测试队列里面,整个框架都得改一下

cookie 回复

客气了。基本满足批量 get/set 问题😂

cookie 关闭了讨论 04月23日 10:21
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册