【问题标题】:CRUD Excelsheets using Javascript for creation Automation Framework with ProtractorCRUD Excelsheets 使用 Javascript 使用量角器创建自动化框架
【发布时间】:2016-02-23 15:29:30
【问题描述】:
我曾与 Selenium 合作创建质量自动化测试框架。这对于测试用例(Excelsheets 文件格式)、对象映射(XML 格式)等具有单独的文件。
我的公司已经开始使用 AngularJS,我正在考虑使用 Protractor 创建一个类似的质量自动化框架。
既然 Protractor 是基于 Javascript 的,我想知道
1. 如果我可以使用 Javascript 读取 excel 文件?
2. 最好的方法是什么?
我读了一些在线论坛,博客询问是服务器端还是客户端;建议各种事情,比如将其转换为 XML、JSON、等等等等。另外,我找到了JS XLS 和JS XLSX。清楚地了解它与 Protractor / Javascript 的使用,这一切都令人困惑和想要的洞察力。
感谢您的帮助、建议和意见。
【问题讨论】:
标签:
javascript
angularjs
excel
automation
protractor
【解决方案1】:
您好,请按照下面的方式通过 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();
在主测试中,您可以像下面这样使用它(我使用过 jasmine 数据提供程序)
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();
});
});
});
希望这对您有任何疑问请询问。