Използвам инструмент за транспортир за автоматизация и използвам mssql за свързване с DB, за изпълнение на всяка 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);
Сега искам да се уверя, че моят код трябва да изчака, докато предишната заявка все още не е завършена и след това само да премине към следващата заявка за изпълнение. В момента всички заявки се изпълняват, без да се чака предишната заявка да завърши.
Как можем да се уверим, че следващата заявка ще бъде изпълнена само когато първото изпълнение на заявка е завършено.