zoukankan      html  css  js  c++  java
  • SAFS Init Files

    There're many deployment files for configuration. We need to learn how SAFS read these depolyment files.

    Let's use the IBT as the a small example for reading UseMultiThreadSearch parameter which determines if we use multi-thread algorithm for image comparing.

    In the DefaultDriver.java, define a variable USE_MULTIPLE_THREADS to store client's choice about using multi-thread:

    /**
     * Set true if image searches using BitTolerance 
     * should attempt to use parallel threading.
     * The current implementation of multi-threading is poor, 
     * and may actually be slower than NOT using multi-threading.
     * Current default is 'false'.
     * @see org.safs.image.SmallPieceComparator
     * @see org.safs.image.ScreenXYBTComparator  
     */
    public static boolean USE_MULTIPLE_THREADS = false;
    

    Then, in the DefaultDriver.java file, the initializeMiscConfigInfo() method will call configInfo's getNamedValue() method to read the configuration files. So in order to get client's choice of whether use multi-thread, we'll do:

    String useMultiThread = configInfo.getNamedValue(DriverConstant.SECTION_SAFS_IBT, "UseMultiThreadSearch");
    if(useMultiThread!=null) {
    	ImageUtils.USE_MULTIPLE_THREADS = StringUtilities.convertBool(useMultiThread);
    	Log.info("SAFS_IBT:UseMultiThreadSearch set to: "+ ImageUtils.USE_MULTIPLE_THREADS);
    }
    

    The corresponding test.ini file should be written like this:

    [SAFS_IBT]
    UseTwoDimensionMatch=true
    

    Obviously the [SAFS_IBT]  is determined by parameter DriverConstant.SECTION_SAFS_IBT in configInfo.getNamedValue() method.

    In org.safs.tools.drivers.DriverConstant.java, one constant DEFAULT_PROJECT_DATAPOOL is used to store test tables and app maps. Generally, all inputs except benchmarks are placed here.

    Then, in org.safs.tools.drivers.AbstractDriver.java, in AbstractDriver class, the variable datapoolSource will use the DEFAULT_PROJECT_DATAPOOL as default value. In the method validateRootConfigureParameters() of AbstractDriver class, it will call:

    datapoolSource = getProjectDirectoryInfo (configInfo.getNamedValue (
    			                           DriverConstant.SECTION_SAFS_DIRECTORIES, "DataDir"),
    			                           DriverConstant.DEFAULT_PROJECT_DATAPOOL);
    

    for setting.

    In jsafs.validateRootConfigureParameters() using datapoolSource = getProjectDirectoryInfo() get the directory of MAP files. 

  • 相关阅读:
    C#搭建Oauth2.0认证流程以及代码示例
    DirectoryEntry配置IIS7出现ADSI Error:未知错误(0x80005000)
    C# 操作IIS方法集合
    dedecms首页入口的详细注释
    分享几个在线生成网址二维码的API接口
    Windows平台分布式架构实践
    WINDOWS 2008Server 配置nginx 反向代理服务器 安装成服务
    [支付宝]手机网站支付快速接入
    支付宝 app支付 沙盘使用
    支付宝接口开发-手机网站支付-沙箱测试
  • 原文地址:https://www.cnblogs.com/kid551/p/4428921.html
Copyright © 2011-2022 走看看