我正在使用Watir为网站进行一些自动化测试。这个特殊的测试我从Excel工作表中提取一系列sku数字,然后从数组中随机选择一个用作我的测试。该号码被放入搜索字段,它会拉回我的产品。
这是我的问题: 我从Excel中提取数据,然后在控制台中打印数据以验证是否收获了正确的数据。好 当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
非常感谢任何帮助!!!
答案 0 :(得分:3)
创建sk时,它是一个数组而不是字符串。应该可以做到:
sk = sku1 [rand(sku1.length)]。to_s
答案 1 :(得分:1)
我一定是在误解某些东西,但这不是一个简单的正则表达式吗? skus总是6位数?在这种情况下,您可以使用:
s.match(/\d{6}/).to_s
或
s.scan(/\d{6}/).first
如果它们是1到6位数的可变长度数字,您可以使用:
s.scan(/\d{1,6}/).first
HTH