CRUD Excelsheets使用Javascript创建自动化框架与量角器

时间:2015-11-21 01:18:24

标签: javascript angularjs excel automation protractor

我与Selenium合作创建了质量自动化测试框架。这是针对测试用例(Excelsheets文件格式),对象映射(XML格式),ec的单独文件。

我的公司已经开始使用AngularJS,我正在考虑使用Protractor创建类似的Quality Automation框架。

因为,Protractor是基于Javascript的,我很纳闷 1.如果我可以使用Javascript读取excel文件? 2.最好的方法是什么? 我看了几个在线论坛,博客询问是服务器端还是客户端;提出各种各样的事情,比如把它转换成XML,JSON,等等等等。另外,我找到了JS XLSJS XLSX。通过与Protractor / Javascript一起使用的清晰视角,这一切都令人困惑并希望深入了解这一点。

感谢您的帮助,建议和建议。

1 个答案:

答案 0 :(得分:0)

嗨,请按照以下方式通过javascript阅读xlsx文件,以便使用量角器自动化基于角度的网站(更多信息请访问https://www.npmjs.com/package/xlsx

这是我的第一个名为excelReader.js的

的js文件
var excelReader =  function(){
if(typeof require !== 'undefined')XLSX = require("../path/xlsx"); // path for xlxs directory that you have downloaded via npm
var workbook = XLSX.readFile("C:\\Users\\path\\Desktop\\nameofexcel.xlsx");
var first_sheet_name = workbook.SheetNames[0];
this.Reader = function(cellValue){
    var address_of_cell = cellValue;
    var worksheet = workbook.Sheets[first_sheet_name];
    var desired_cell = worksheet[address_of_cell];
    var desired_value = desired_cell.v;
    return desired_value;
};
}
    module.exports = new excelReader();

在主测试中你可以像下面一样使用它(我使用过茉莉花数据提供者)

var DataProvider = require("../path/excelReader.js"); // call the excelReader.js file
var using = require("../path/jasmine-data-provider"); // calling jasmine data provoider if u want u can leave it.
    describe("you text suite",function(){
    var dataProvider = {
                "Case 1 : Valid username and Invalid password" : {UN : DataProvider.Reader("C2"),PWD : DataProvider.Reader("D2")}, // C2 and D2 are excel cell value 
                };
        using(dataProvider, function(Parameter, description) {
            xit("your spec file(login example) " + description,function(){
                LoginPage.UserName(Parameter.UN); // here i have called the excel value which contains username and password
                LoginPage.Password(Parameter.PWD);
                LoginPage.SignIn();
            });
        });
    });

希望这可以帮助您查询任何问题。