记录阿里巴巴QA架构组成长点滴。2008年关键词为效率,技术,影响力!QA/测试架构师定义:开发和设计测试框架测试库;纵横全局的考虑产品的功能,设计复杂的测试系统;负责研发某一项特定的测试技术;为公司考虑如何提高测试效率。领导公司测试技术的发展和测试策略上的方向,关注整个公司的测试部门的问题,前瞻性的考虑未来的版本的测试策略和技术。测试架构师计划/设计测试平台,关注着产品的测试过程,提供咨询服务,影响到公司内的测试机构测试社区,以及开发机构等,对产品各个方面施加深远而正确的影响,最终提高整体软件质量。

[watir] 在watir中读取ini文件

上一篇 / 下一篇  2008-11-23 16:29:10 / 个人分类:自动化测试框架与实现

                                                               --------by nish

  在window系统中,ini文件是一个很重要的配置文件,很多软件都通过ini文件的方式来进行参数的配置。在参考了网上gdsx in #ruby-lang中的一部分代码,写了读取ini文件的函数,该函数支持正则等,同时改进了原先代码中不支持等于号后有"="的情况。代码如下:

def read_ini_file(filename)
    input = ""
    File.open(filename){|f| input = f.read}
    tamed = {}
    
    # split data on city names, throwing out surrounding brackets
    input = input.split(/\[([^\]]+)\]/)[1..-1]
 
    # sort the data into key/value pairs
    input.inject([]) {|tary, field|
      tary << field
      if(tary.length == 2)
        # we have a key and value; put 'em to use
        tamed[tary[0]] = tary[1].sub(/^\s+/,'').sub(/\s+$/,'')
        # pass along a fresh temp-array
        tary.clear
      end
      tary
    }
 
    tamed.dup.each { |tkey, tval|
      tvlist = tval.split(/[\r\n]+/)
      tamed[tkey] = tvlist.inject({}) { |hash, val|
        array = val.split(/=/)
        k = array[0]
        v = array[1..-1].join("=")
        k = k.strip        
        v= v.strip unless v.nil?  
        v =" " if  v.nil?
        first = v[0,1]
        last = v[-1,1]
        flag = first + last
        case flag
        when "\"\""
          v = v[1..-2]
        when "//"
          v = /#{v[1..-2]}/
        end
        hash[k]=v
        hash
      }
    }
  
    tamed
  end


 

假设ini文件如下:

[test]

key1 = /test/

key2 = "xxxxx"

[test2]

key1 = xxxx

key2 = yyyyy

 则通过上述函数,读取后的内容为(返回的结果为一个Hash)

result={

 "test"={

        "key1" = /test/,

        "key2" = "xxxxx"

        },

"test2"={

     "key1" ="xxxx",

     "key2" = "yyyyy"

 }

}


TAG: 自动化测试框架与实现

 

评分:0

我来说两句

日历

« 2024-04-18  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 154152
  • 日志数: 163
  • 文件数: 1
  • 建立时间: 2008-02-26
  • 更新时间: 2008-12-10

RSS订阅

Open Toolbar