hae-uitest
Version:
A UI Test Framework for Huawei HAE
72 lines (58 loc) • 1.43 kB
JavaScript
//save Screenshot
var fs = require('fs');
var path = require('path');
var mkdirp = require('mkdirp');
module.exports = {
//生成随机时间戳
getTimestamp: function() {
return Date.now().toString();
},
//保存图片
saveImg: function(img, dir, filename) {
var regFileName = /[\\\/:\*\?"<>\|]/g;
//创建文件夹
mkdirp(dir, function(err) {
if (err) throw err;
var filePath = path.normalize(dir + path.sep + filename);
if (regFileName.test(filename)) throw new Error('illegal file name.');
fs.writeFile(filePath, new Buffer(img, 'base64'), function(err) {
if (err) throw new Error('failed to save the screenshot.');
});
});
},
//异步创建多个目录
makeDir: function(arrDir, callback) {
var _err = null;
var num = 0;
for (var i = 0; i < arrDir.length; i++) {
mkdirp(arrDir[i], function(err) {
_err = err;
num += 1;
if (num === arrDir.length) {
callback(_err);
}
});
};
},
array : {
each : function(arr, fn){
for(var i = 0, len = arr.length; i < len; i++){
if(fn(arr[i], i, arr) === false){
break;
}
}
},
filter : function(arr, fn){
var evt = [];
each(arr, function(obj, idx){
fn(obj, idx) && evt.push(obj);
});
return evt;
}
},
string : {
trim : function(str){
return str.replace(/^\s+|\s+$/g, "");
}
}
}