nodejs 自動化測試

2021-07-22 12:42:15 字數 2971 閱讀 6211

我們在坐自動化測試的時候,經常需要讓每乙個模組測試完之後再繼續測試另外乙個模組,另外在乙個模組中,我們有時需要測試用例一起跑或者乙個測試用例結束之後另乙個測試用例才開始,所以需要搭建自動化測試的框架。下面就是我最近學習到的乙個框架。

var util=require("util")

var events=require("events");

var log=require("./log.js").getautotestlog();

var fs = require("fs");

var path = require("path");

var exec = require('child_process').exec;

var contrast = require("./contrast.js");

var directory=path.join("..", "..", "release");

var testconfig = require(path.join("..", "config", "testconfig.json"));

var standfiledir = path.join("..", "stand");

var targetfiledir = path.join("..", "target");

function controller()

util.inherits(controller, events.eventemitter); // 使這個類繼承eventemitter

var control = new controller();

control.on("finish", function(testobj)

}else

});control.on("add", function(testobj)

}else

testobj.settestindex(index);

testobj.index=0;// 當前測試例項的序號

if(testobj.getistest() == false)// 當前例項需要測試

return;

// if(!testobj.getissingle())

// 需要考慮,如果某乙個測試單例一直沒有返回的情況

if(control.i***istssingletest==false)else

});control.on("dotest", function(testobj));

function testbase(name)

util.inherits(testbase, events.eventemitter);//使這個類繼承eventemitter

//-----------------屬性值設定-----------------------------

testbase.prototype.setname=function(name)

testbase.prototype.getname=function()

testbase.prototype.setparam=function(param)

this.param = param;

}testbase.prototype.getparam=function()

testbase.prototype.setloop=function(loop)

testbase.prototype.getloop=function()

testbase.prototype.settestindex=function(testindex)

testbase.prototype.gettestindex=function()

testbase.prototype.setistest=function(istest)

testbase.prototype.getistest=function()

testbase.prototype.setissingle=function(issingle)

testbase.prototype.getissingle=function()

testbase.prototype.setbtest=function(btest)

testbase.prototype.setplatfrom=function(platfrom)

testbase.prototype.getplatfrom=function()

//-----------------方法設定-----------------------------

/**加入控制器,會根據配置自動呼叫該物件的run方法

*/testbase.prototype.addcontrol=function()

function recordtestlog(project, logs)

else }}

function comparefile(param, testobj)

/**執行測試(每個測試用例)

*/testbase.prototype.run=function(param), function(error, stdout, stderr)else

testobj.finish();

}});

}(param,cmd, this));

if(!this.getissingle())//若不是單例執行則執行下乙個測試用例

this.finish();

}/**

每次執行完成呼叫finish通知控制

*/testbase.prototype.finish=function()

function run(project, platfrom)

var t = new testbase(project);

t.setplatfrom(platfrom);

t.setbtest(btest);

t.addcontrol();

}exports.run = run;

自動化測試 web自動化測試

自動化 由機器裝置代替人為完成制定目標的過程 優點 提高工作效率 減少勞動力 產品規格同一標準 批量生產 自動化測試 讓程式代替人為去驗證程式功能的過程,即在預設條件下執行程式系統 流程確定 搭建自動化框架 編寫測試用例,將其轉化為soupui 介面 自動化測試指令碼 執行自動化測試指令碼 輸出執行...

測試自動化 自動化測試的定義

相關術語 automated testing test tool,automated testing test suite,automated testing test script等.具體參見 http en.wikipedia.org wiki test automation 推薦書籍 1 軟體...

測試自動化

自動化測試有兩種含義 開發過程的自動化單元測試和功能驗證階段的自動化黑盒測試。這兩者融合到daily build中,是daily build的最重要核心。daily build和自動化單元測試另文詳述,此處主要說說自動化功能測試。自動化測試的投入產出比以及實際應用效果其實不高 自動化測試作為提高測試...