• Cts框架解析(12)-ITargetPreparer


    測试开启前的设备系统准备工作。


    接口


    /*
     * Copyright (C) 2010 The Android Open Source Project
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *      http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    package com.android.tradefed.targetprep;
    
    import com.android.tradefed.build.IBuildInfo;
    import com.android.tradefed.device.DeviceNotAvailableException;
    import com.android.tradefed.device.ITestDevice;
    
    /**
     * Prepares the test environment for the test run.
     * <p/>
     * For example, installs software, tweaks env settings for testing, launches targets etc.
     * <p/>
     * Note that multiple {@link ITargetPreparer} can specified in a configuration. It is recommended
     * that each ITargetPreparer clearly document its expected environment pre-setup and post-setUp.
     * e.g. a ITargetPreparer that configures a device for testing must be run after the ITargetPreparer
     * that installs software.
     */
    public interface ITargetPreparer {
    
        /**
         * Perform the target setup for testing.
         *
         * @param device the {@link ITestDevice} to prepare.
         * @param buildInfo data about the build under test.
         * @throws TargetSetupError if fatal error occurred setting up environment
         * @throws DeviceNotAvailableException if device became unresponsive
         */
        public void setUp(ITestDevice device, IBuildInfo buildInfo) throws TargetSetupError,
                BuildError, DeviceNotAvailableException;
    }
    

    就一个方法:setUp(),比方你要安装系统、安装apk或者其它都是case要求的安装事务都要在这种方法中完毕。


    实现类


    /*
     * Copyright (C) 2010 The Android Open Source Project
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *      http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    package com.android.tradefed.targetprep;
    
    import com.android.ddmlib.Log;
    import com.android.tradefed.build.IBuildInfo;
    import com.android.tradefed.device.ITestDevice;
    
    /**
     * Placeholder empty implementation of a {@link ITargetPreparer}.
     */
    public class StubTargetPreparer implements ITargetPreparer {
    
        /**
         * {@inheritDoc}
         */
        @Override
        public void setUp(ITestDevice device, IBuildInfo buildInfo) throws TargetSetupError {
            Log.d("TargetPreparer", "skipping target prepare step");
        }
    }
    

    这个类里面的方法就是打印了一句话。没做不论什么处理。可是真正要是满足自己特定的需求就要自己写一个类继承与该接口才行。



  • 相关阅读:
    [转]ASP.NET 2.0 数据绑定表达式语法
    为什么不直接使用成员变量而使用属性呢?
    WebForm中的容器
    winform下简单多线程例子
    Window.ShowModalDialog使用手册
    weblog? weblogPost?
    浅析Page.LoadTemplate("模板")方法动态获取绑定模板后,通过FindControl获取服务端控件的方法。
    在sql中快速导入、导出Excel
    游标
    sql判断文件是否存在
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5362495.html
Copyright © 2020-2023  润新知