В настоящее время в моей системе автоматизации используется транспортир из cucumberJS. Мы используем chai как обещанную как библиотеку утверждений, и недавно я столкнулся с необходимостью делать прямые запросы mysql к базе данных.Транспортир + CucumberJS MySQL Query
Как бы я мог структурировать определение шага, чтобы иметь возможность получить запрос, и использовать результаты запроса на одном и том же этапе? Моя текущая борьба - это асинхронный протранслятор пути, заставляющий меня выполнить запрос после шага, требующего результатов запроса, а также область действия для передачи объекта JSON, созданного в результате запроса.
this.loginWithMysqlUser = function(uname) {
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : '*******',
password : '*******',
database : '*******'
});
connection.connect();
connection.query('SELECT * FROM prot_users WHERE username = ?', [uname], function(err, rows) {
if(err) throw err;
mysqlUser = {
username: rows[0].username,
password: rows[0].password
};
});
connection.end();
loginpage.login(mysqlUser);
};
Эта функция хранится в объявлении для входа в систему.