Fitnesse变量可以分成两种,一种是自定义变量,另一种是用例执行过程中的临时变量。
在Finesse使用过程中,如果需要定义一些公共的变量,可以统一在一个文件中使用自定义变量的方法,将公共变量全部定义好,然后在用例中引用该文件就可以了。
但是遇到多环境以及公共变脸比较多的时候,上面的方法就比较麻烦了。
为了解决上面的问题,这边采用redis+修改Finesse原码的方式解决问题。
\FitnesseMaster\src\fitnesse\slim\SlimExecutionContext.java
1 public void setVariable(String name, MethodExecutionResult value) { 2 if(name.equals("variables")){ 3 System.out.println(String.valueOf(value)); 4 String variables_s=value.toString(); 5 Map<String,String> variablesMap=JSONObject.parseObject(variables_s,Map.class); 6 for(Map.Entry<String,String> entry:variablesMap.entrySet()){ 7 variables.setSymbol(entry.getKey(), new MethodExecutionResult(entry.getValue(), Object.class)); 8 System.out.println("1: "+entry.getKey()+"--"+entry.getValue()); 9 } 10 }else{ 11 variables.setSymbol(name, value); 12 System.out.println("2: "+name+"--"+value); 13 } 14 }