Ruby/Watir - 从阵列格式化打印
问题描述:
我正在使用Watir为网站进行一些自动测试。这个特殊的测试我从Excel工作表中拉出一组sku数字,然后从数组中随机选择一个作为我的测试。该号码被放入搜索字段中,并将我的产品拉回。Ruby/Watir - 从阵列格式化打印
这是我的问题: 我从Excel中提取数据,并在控制台中打印数据以验证正确的数据是否已收获。 ok 当sku被放到网站的搜索框中时,它的格式如下: [“000000”]
我需要消除方括号和引号。
我研究了漂亮的打印,虽然这会做伎俩。这里是漂亮的打印我说:
def pretty_print(q)
q.group(1, '[','"','"',']') {
q.seplist(self) {|v|
q.pp v
}
}
end
这里是从阵列中获得SKU代码,我试图从上述申请漂亮的打印方法将字符串“SK”:
puts = "Data path : " + path
workbook = excel.Workbooks.Open(path)
worksheet = workbook.WorkSheets(1)
worksheet.Select
puts "getting 2D Array from column range a2:a100 in sheet 2"
sku1 = worksheet.Range("a2:a5").Value
puts (sku1)
$count = 1
$count.times do |count|
sk = sku1[rand(sku1.length)]
method_name = :"test_#{count}_#{sk}"
define_method method_name do
pp (sk)
search_string = sk
任何帮助非常感谢!
答
当你创建sk时,它是一个数组而不是一个字符串。如果能够做到:
SK = SKU1 [兰特(sku1.length)to_s
答
我一定是误解的东西,但不是这只是一个简单的正则表达式? skus总是6位数字?在这种情况下,你可以使用:
s.match(/\d{6}/).to_s
或
s.scan(/\d{6}/).first
如果他们是从1到6位可变长度的数字,你可以使用:
s.scan(/\d{1,6}/).first
HTH
我不知道我的头在哪里。谢谢你们俩!! – r3nrut 2010-06-23 17:05:15