node.js WebDiver.IO читать данные CSV. Экземпляр клиента - PullRequest
0 голосов
/ 05 мая 2018

у меня есть следующий код:

var webdriverio = require('webdriverio');
var options = { desiredCapabilities: { browserName: 'chrome' } };
var client = webdriverio.remote(options);
var csv = require('csv-parser')
var fs = require('fs')

var stream = csv({
  raw: false,     // do not decode to utf-8 strings
  separator: ';', // specify optional cell separator
  quote: '"',     // specify optional quote character
  escape: '"',    // specify optional escape character (defaults to quote value)
  newline: '\n',  // specify a newline character
  strict: true    // require column length match headers length
})

fs.createReadStream('test.csv')
  .pipe(stream)
  .on('data', function (data) {
    WebDriverIO(data.Name)
  })

function WebDriverIO(data) {
    client
        .init()
        .url('https://authentication.liveperson.net/login.html?servicepath=a%2F~~accountid~~%2F%23%2C~~ssokey~~%3Bmarketer%21campaigns%2Fweb&lpservice=liveEngage')
        .setValue('#siteNumber', data)
        .getTitle().then(function(title) {
            console.log('Title is: ' + title);
            // outputs: "Title is: WebdriverIO (Software) at DuckDuckGo"
        })
        .end();
}

проблема в том, что при запуске этого кода окно браузера открывается для каждой строки, считываемой из CSV-файла - мне нужно ввести каждую строку в поле ввода без открытия нового экземпляра браузера (вызов .init ()), но у меня есть Понятия не имею, как я могу разделить этот код, чтобы сначала запустить .init () (открыть браузер instnace), а затем вызвать только функцию .setValue.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...