虽然sahi pro版本有一个excelframework,但是在sahi os被省掉了,所以自己就写了一个超简单的excel测试框架,各位可以在此基础上做更多的个人定制。
首先要让sahi os可以使用excel api ,可以看这里
这个框架的逻辑就是首先用sahi脚本写好函数,然后将函数名及参数放到excel里,通过读取excel顺序执行写好的函数。这样测试开发写好函数及函数使用说明,就可以交给功能测试。功能测试根据自己的测试用例在excel里组成测试流程进行自动化测试。
excel模板定义如下:
函数名 | 参数1 | 参数2 | 参数3 |
---|---|---|---|
add | 345 | hehe | kaka |
query | one | two | three |
delete | four | me | five |
框架代码如下:
function excelFramework($excel, $sheet) {
//返回一个数据表的二维数组,不带标题行,也就是第0行
var $excel = _readExcelFile($excel, $sheet);
//循环读取每一行,将每行的数据组成执行函数,通过eval()执行
for (var $i = 0; $i < $excel.length; $i++) {
//通过buildFunction方法获取组成的函数
var $F = buildFunction($excel, $i);
_log($F);
//执行组成的函数
eval($F);
}
}
function buildFunction($excel, $rowindex) {
var $f;
//新建一个数组
var $ar = new Array();
for (var $i = 1; $i < $excel[$rowindex].length; $i++) {
if ($excel[$rowindex][$i] != null&&$excel[$rowindex][$i]!="") {
var $arg = "'" + $excel[$rowindex][$i] + "'";
//将函数的参数放到数组里
$ar.push($arg);
}
}
//用逗号分隔把读到的参数组成字符串
var $args = $ar.join(",");
//最后把第0列的函数名与参数组合成完整的函数
$f = $excel[$rowindex][0] + "(" + $args + ")";
return $f;
}
在sahi脚本里添加上面两段代码,执行excelFramwork方法,如:
excelFramework("readExcelFile.xls", "Sheet1");
这样便会一行一行顺序执行自定义的函数实现简单的自动化。