2014-08-29 54 views
0

我有一個名爲enterInformation()的函數;帶有我想從CSV文件中提取的參數。我有我的CSV文件的方式是它有大約12列,第一行是每列的TITLE/HEADER。現在我有我的腳本的方式是它總是拉動CSV文件的第一行,我不希望這是因爲它是標題/標題,我也希望它在輸入文本字段時選擇一個隨機行。從CSV中爲特定列隨機選擇一行

我會如何通過從我創建的數據集中隨機選取一個值來輸入字段信息(如果可能的話,也忽略第一行)?

這是我在那裏,我調用該函數的代碼片段:

for (var $i=0; $i<$data.length; $i++) { 
    var $row = $data[$i]; 
    try { 
     enterInformation($row[0], $row[1], $row[2], $row[3]); 
    } catch (e) { 
     _logException(e); 
    } 
    break; 
} 

這裏是我的全局函數:

function enterInformation($entityType, $entityName, $address1, $city) { 
    _click(_link("Select Entity")); 
    _click(_listItem($entityType)); 
    _setValue(_textbox("entityName"), $entityName); 
    _setValue(_textbox("address1"), $address1); 
    _setValue(_textbox("city"), $city); 
    _click(_submit("Continue")); 
}; 

回答

0

如何選擇要使用的值的行?

// -1 excludes the header from the count, +1 skips the header 
var rowForValues = Math.floor(Math.random() * ($data.length - 1)) + 1; 
var $row = $data[rowForValues]; 
enterInformation($row[0], $row[1], $row[2], $row[3]); 

如果您喜歡,也可以將它烘焙到您的循環中。

+0

該解決方案實際上非常適合我的要求。非常感謝。儘管我仍然想要學習如何隨機選擇它,而不必定義行,但是您提供給我的這種方法將使我的網絡自動化工作變得更輕鬆,並且它肯定會用於其他測試場景(現在我知道如何定義我想要使用的行並忽略第一行)。再次感謝! – rookiejs 2014-08-30 02:11:05