zoukankan      html  css  js  c++  java
  • Android中动态加载运行测试代码

    package com.automation.testlibrary;
    import android.os.AsyncTask;
    import java.lang.reflect.Method;
    
    public class MethodRunTask extends AsyncTask {
        String packageName;
        String className;
        String methodName;
        String[] classNames=new String[]{};
    public MethodRunTask(String packagename, String[] classnames) {
            packageName = packagename;
            className = "";
            methodName = "";
            classNames = classnames;
        }
        public MethodRunTask(){
    
        }
        @Override
        protected Object doInBackground(Object[] objects) {
            if (classNames.length > 0) {
                runClassMethods(packageName, classNames);
            } else {
                runClassMethods(packageName, className, methodName);
            }
            return null;
        }
    public void runClassMethods(String packageName, String[] classNames) {//        TestCaseUtils.TESTCASE_CATEGORY="/Priority/P1";
            try {
                TaskStatus.getInstance().SetTestCaseRunning();
                for (String classNameInPackage : classNames) {
                    //执行className类下所有test_前缀的方法
                    Class<?> clazz = Class.forName(packageName+"." + classNameInPackage);
                    Method[] methods = clazz.getMethods();
                    Object obj = clazz.newInstance();
                    for (Method method : methods) {
                        String name = method.getName();
                        if (name.startsWith("test_")) {
                            try {
                                ReportUtil.new_log();
                                method.invoke(obj);
                            } catch (Exception e) {
                                e.printStackTrace();
                            } finally {
                                try {
                                    ReportUtil.close_log();
                                } catch (Exception ex) {
                                    ex.printStackTrace();
                                }
                            }
                            continue;
                        }
                    }
                }
            } catch (Throwable e) {
                e.printStackTrace();
            }finally {
                TaskStatus.getInstance().SetTestCaseFinished();
            }
        }
    }
  • 相关阅读:
    Table交替行变色 鼠标经过变色 单击变色
    编程专用字体(雅黑字体+Consolas)
    Enterprise Architect学习笔记-EA中关系
    通用分页存储过程
    解决vs2008无法切换设计视图
    盒子模式
    ASP.NET界面数据绑定大大杂烩
    Tyvj P1032 Begin2 Unit1 身份验证
    NOIP2010普及组T1
    TyvjBegin P1036 Begin2 Unit1 数独验证
  • 原文地址:https://www.cnblogs.com/gavinliu1982/p/8400228.html
Copyright © 2011-2022 走看看