Ruby: Ruby脚本在测试中的使用

如果存在以下的场景:
1. 放置在公司的读报机服务器,每天都是开启的;
2. 读报机每天下载报纸,一旦成功/失败,就会有相应的记录生成在某个xml文件中;
3. 现在有过去一年的读报机下载xml,大约有200多份,每份xml中存储了记录如下:

现在你的经理想从测试人员你那儿获取一些知识:
过去一年,我们的读报机功能,哪些报纸一直能够给客户下载?哪些报纸我们告诉客户是可以下载的,但是实际上是下载失败的?
如果去找开发,也许通过连接数据库,运行一下SQL查询,记录就出来了,但是如果服务器不允许你访问,需要你统计结果,那怎么办?
 
如果你会Ruby脚本,一切都非常简单:

path = "C:\\Users\\chenpassion\\Desktop\\20130806.xml"

def get_downloaded(path)
    path = path.gsub('\\', '\\\\')
    #把文件所有的内容都读取出来
    file = File.read(path)
    #把每个报纸所在的段扫描出来
    newspapers = file.gsub("\n", " ").scan(/\<NewspaperReport.*?\/\>/)

    #定义一个数组,存放所有下载完成的报纸
    newspaper_names = []
    
    #获取所有下载完成的报纸信息    
    for newspaper in newspapers
        if newspaper.include?("下载完成")
            chinese_name = newspaper.scan(/ChineseName=".*"/)[-1].gsub(/[(ChineseName=)\"]/, "")
            pinyin_name = newspaper.scan(/NewspaperName=\"\w+\"/)[-1].gsub(/(NewspaperName=)?(\")?/, "")
            newspaper_names << "#{chinese_name}\t#{pinyin_name}"
        end
    end
    puts "总报纸数:#{newspapers.size}"
    puts "下载完成的报纸数:#{newspaper_names.uniq.size}"
    puts newspaper_names.uniq
end

get_downloaded(path)

 

转载于:https://www.cnblogs.com/autotest/p/3262537.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值