Случайный выбор строки для определенного столбца из CSV

У меня есть функция enterInformation(); с параметрами, которые я хочу получить из файла CSV. У меня есть файл CSV, в котором около 12 столбцов, а первая строка - это НАЗВАНИЕ / ЗАГОЛОВОК для того, что представляет собой каждый столбец. Сейчас у меня есть скрипт, который всегда вытягивает первую строку в файле 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"));
};

person rookiejs    schedule 29.08.2014    source источник


Ответы (1)


Как насчет выбора строки, которую вы хотите использовать для значений?

// -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]);

Или запеките его в свою петлю, если хотите.

person David Ehrmann    schedule 29.08.2014
comment
Это решение на самом деле очень приемлемо для моего запроса. Большое спасибо. Хотя я все еще хочу узнать, как заставить его выбирать его случайным образом без определения строки, этот метод, который вы мне предоставили, в любом случае облегчит мою жизнь для моей веб-автоматизации, и он определенно будет использоваться для других сценариев тестирования (теперь я знаю, как определить, какую строку я хочу использовать, и игнорировать первую строку). Спасибо еще раз! - person rookiejs; 30.08.2014