Я использую инструмент транспортира для автоматизации и использую mssql для подключения к БД, чтобы выполнить любой запрос SQL в базе данных.
У меня есть куча запросов, которые мне нужно выполнить, но последовательно.
sql1 = "delete from temp1"
sql2 = "delete from temp2"
sql3 = "delete from temp3"
.
.
sqln = "delete from tempn"
**I have created below method to execute the queries- sqlcommands.js**
var sql = require("mssql")
var MSSqlExecution = function () {
var dbConfig = {
server: "00.00.00.00" ,
database: "WQER" ,
user: "REW" ,
password: "WER",
port: 11433,
connectionTimeout: 999999999,
requestTimeout: 999999999
};
this.executeQuery = function (sql_query){
console.log("Executin query: "+sql_query);
var conn = new sql.ConnectionPool(dbConfig);
conn.connect().then(function(){
var req = new sql.Request(conn);
console.log("Executin query: "+sql_query);
req.query(sql_query).then(function(recordset){
console.log(recordset);
browser.sleep(12000);
conn.close();
}).catch(function(err){
console.log("Execute query error : "+err);
conn.close();
});
}).catch(function(error){
console.log("conn error :::: "+error);
conn.close();
});
};
};
module.exports = new MSSqlExecution();
Теперь я вызываю эти методы из своего тестового класса в методе beforeAll().
var sqlQuery = require('../../../commands/sqlcommands.js');
sqlQuery.executeQuery(SQl_query1);
sqlQuery.executeQuery(SQl_query2);
sqlQuery.executeQuery(SQl_query3);
sqlQuery.executeQuery(SQl_queryn);
Теперь я хочу убедиться, что мой код должен ждать, пока предыдущий запрос еще не будет завершен, а затем переходить только к следующему запросу для выполнения. В настоящее время все запросы выполняются без ожидания завершения предыдущего запроса.
Как мы можем убедиться, что следующий запрос выполняется только после завершения выполнения первого запроса.