1

私はWatirを使用して、Webサイトの自動テストを行っています。この特定のテストでは、ExcelシートからSKU番号の配列を取得し、その配列からランダムに1つを選択して、テストとして使用します。番号が検索フィールドに入力され、製品が引き戻されます。

これが私の問題です。Excelからデータを取得し、コンソールでデータを印刷して、正しいデータが収集されたことを確認しました。ok skuをWebサイトの検索ボックスに入れると、次のようにフォーマットされます。["000000"]

角かっこと引用符を削除する必要があります。

私はきれいな印刷物について研究しました、そしてそれはトリックをするでしょうが。これが私が追加したきれいなプリントです:

def pretty_print(q)
        q.group(1, '[','"','"',']') {
        q.seplist(self) {|v|
        q.pp v
      }
    }
   end

配列からskuを取得するためのコードと、上から文字列"sk"にprettyprintメソッドを適用する試みを次に示します。

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

どんな助けでも大歓迎です!!!

4

2 に答える 2

3

skを作成する場合、これは配列であり、文字列ではありません。できるはずです:

sk = sku1 [rand(sku1.length)]。to_s

于 2010-06-22T22:17:14.517 に答える
1

私は何かを誤解しているに違いありませんが、これは単なる正規表現ではありませんか?skusは常に6桁ですか?その場合、次を使用できます。

s.match(/\d{6}/).to_s

また

s.scan(/\d{6}/).first

1〜6桁の可変長の数値の場合は、次を使用できます。

s.scan(/\d{1,6}/).first

HTH

于 2010-06-23T13:46:01.180 に答える