|
@@ -0,0 +1,45 @@
|
|
|
+package net.mooctest.www.android_auto_test.groovy;
|
|
|
+
|
|
|
+import groovy.lang.Binding;
|
|
|
+import groovy.lang.GroovyObject;
|
|
|
+import groovy.lang.GroovyShell;
|
|
|
+import groovy.util.GroovyScriptEngine;
|
|
|
+
|
|
|
+import java.io.File;
|
|
|
+import java.io.IOException;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Iterator;
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author henrylee
|
|
|
+ */
|
|
|
+public class GroovyExecutor {
|
|
|
+ public static void executeMethod(String scriptName, String methodName, Object[] objects){
|
|
|
+ try {
|
|
|
+ GroovyScriptEngine scriptEngine = new GroovyScriptEngine("");
|
|
|
+ Class c = scriptEngine.loadScriptByName("scripts/" + scriptName);
|
|
|
+ //实例化 GroovyDemo 类
|
|
|
+ GroovyObject groovyObj = (GroovyObject) c.newInstance();
|
|
|
+ //调用 groovyDemo 成员方法
|
|
|
+ groovyObj.invokeMethod(methodName, objects);
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void executeScript(String scriptName, HashMap<String, Object> params){
|
|
|
+ Binding binding = new Binding();
|
|
|
+ for (String key : params.keySet()) {
|
|
|
+ Object value = params.get(key);
|
|
|
+ binding.setVariable(key, value);
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ GroovyScriptEngine engine = new GroovyScriptEngine("");
|
|
|
+ Object result = engine.run("scripts/" + scriptName + ".groovy", binding);
|
|
|
+ System.out.println(result);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|