Webフロントエンド自動インタフェーススキャン
3204 ワード
初めてのブログですが、よろしくお愿いします.
現在行われているプロジェクトはフロントバックグラウンドで分離されており、wiremock製のデータを使用していますが、インタフェースは一般的にバックグラウンドで推進されています(バージョンマネージャはバックグラウンドの向こうにあります).バックグラウンドでインタフェースを変更すると、フロントに通知されないことが多く、インタフェースのエラーが頻繁に発生し、各インタフェースの間に依存関係がある場合が多く、前のインタフェースが後続のインタフェースをテストできなければ、後続のインタフェースをテストすることができません.これに基づいて,インタフェースを自動的にテストできる方法を開発する必要がある.
コードを直接付けてjs:
インタフェースが多すぎる場合はgruntコマンドを使用して、各送信要求のmockデータをプロジェクトからマージすることを考慮すると、モジュールのメンテナンスと管理が容易になります.
このように従来のプロジェクトで直接testPortForConsole.jsのコードコピーを実行すると、インタフェースのスキャンが自動的に完了します.スキャンの結果はすべてlocalStorageに保存され、以下の方法で得ることができる.
console.dir(localStorage.getItem('success').split('|'));console.dir(localStorage.getItem('failed').split('|'));
新米は支持を求めます~~.
現在行われているプロジェクトはフロントバックグラウンドで分離されており、wiremock製のデータを使用していますが、インタフェースは一般的にバックグラウンドで推進されています(バージョンマネージャはバックグラウンドの向こうにあります).バックグラウンドでインタフェースを変更すると、フロントに通知されないことが多く、インタフェースのエラーが頻繁に発生し、各インタフェースの間に依存関係がある場合が多く、前のインタフェースが後続のインタフェースをテストできなければ、後続のインタフェースをテストすることができません.これに基づいて,インタフェースを自動的にテストできる方法を開発する必要がある.
コードを直接付けてjs:
var postDatas = [
{
url : '/getStudents.do' ,
portName:'',
description :'',
data:{
serviceName : "getStudents",
class : "six",
grade : "two"
}
},
{
url : "/getScore.do",
portName:'',
description :'',
data:{
serviceName : "getScore",
studentID : "08070146",
subject : "Math"
}
}
//
];
(function(){
localStorage.removeItem('success');
localStorage.removeItem('failed');
var send = function(url,param,portName){
$.ajax({
url : url,
type: 'POST',
data: JSON.stringify(param),
dataType: 'application/json,text/plain.*/*'
})
.success(function(data){
localStorage.setItem('success',localStorage.getItem('success')
+ portName + ' |');
})
.error(function(data){
localStorage.setItem('failed',localStorage.getItem('failed')
+ portName + ' |') ;
throw portName + ' ';
})
};
for(var s = 0,len = postDatas.length;s < len;s++){
send(postDatas[s].url,postDatas[s].data, postDatas[s].portName);
}
})();
インタフェースが多すぎる場合はgruntコマンドを使用して、各送信要求のmockデータをプロジェクトからマージすることを考慮すると、モジュールのメンテナンスと管理が容易になります.
module.exports = function (grunt) {
//
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
options: {
banner: '[
',
separator:',
',
footer:']',
stripBanners:'true'
},
build: {
src: 'src/**/*.json',
dest: 'dest/dest.json'
}
}
});
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.registerTask('default', ['concat']);
}
このように従来のプロジェクトで直接testPortForConsole.jsのコードコピーを実行すると、インタフェースのスキャンが自動的に完了します.スキャンの結果はすべてlocalStorageに保存され、以下の方法で得ることができる.
console.dir(localStorage.getItem('success').split('|'));console.dir(localStorage.getItem('failed').split('|'));
新米は支持を求めます~~.