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

cookie · April 19, 2018 · Last by hello replied at April 20, 2018 · 1287 hits

现状

目前公司的自动化数据驱动实现都是通过将 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);
}
打完收工
cookie #4 · April 20, 2018 Author
hellohell 回复

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

cookie #5 · April 20, 2018 Author
hello 回复

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

cookie #6 · April 20, 2018 Author
hello 回复

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

cookie 回复

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

cookie 关闭了讨论 23 Apr 10:21
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up