【发布时间】:2018-09-09 00:10:39
【问题描述】:
所以基本上我想下载一个 csv 文件然后将其转换为 json,但目前我遇到的问题是将 csv 转换为 json 的函数在量角器中不起作用,方法“converter.fromFile”打印空数组。下面是我的代码
var createUser = require('../pages/createUser.page.js');
var exportPermissions = require('../pages/exportPermissions.page.js');
var cred = require('../../local.credentials.js');
var globals = require('./../../globals.js');
var Converter = require("csvtojson").Converter;
var fs = require('fs')
var until = protractor.ExpectedConditions;
var URL = 'http://' + cred.httpAuth + '@' + cred.server + '/#/page/login';
const csvFilePath='C:/Users/Manoor khan/Downloads/System___exportedPermissions.csv';
var converter = new Converter({});
var permissions;
describe('Use case: MEP-T96 Export permissions', function () {
var createUserSelectors;
var loginPg;
var permissionsMenu;
beforeAll(function () {
createUserSelectors = new createUser();
permissionsMenu = new exportPermissions();
browser.get(URL).then(function () {
console.log('opened URL');
});
});
it('MEP-T96 Export permissions', function (done) {
globals.login('adminUname', 'adminPass').then(function () { console.log('Logged in as admin') });
browser.wait(until.presenceOf(createUserSelectors.adminPage), 20000, 'admin Page taking too long to appear in the DOM');
createUserSelectors.administrationMenu.click().then(function () { console.log('Clicked adminstration menue') });
expect(createUserSelectors.userManagerMenu.isPresent()).toBe(true, 'Couldnt find manager user link');
expect(permissionsMenu.systemPermissionMenu.isPresent()).toBe(true, 'couldnt find create system permission link');
permissionsMenu.systemPermissionMenu.click().then(function () { console.log('Clicked on system permissions menu') });
browser.wait(until.presenceOf(permissionsMenu.permissionSearchBtn), 20000, 'Permission page didnt load in the given time');
expect(permissionsMenu.permissionSearchBtn.isPresent()).toBe(true, 'Permission search button not found');
expect(permissionsMenu.permissionSearchBar.isPresent()).toBe(true, 'Permission search bar not found');
expect(permissionsMenu.exportPermissionsAsCSVBtn.isPresent()).toBe(true, 'Export permission button not found');
permissionsMenu.exportPermissionsAsCSVBtn.click().then(function () { console.log('Clicked on export permission button') });
permissionsMenu.downloadCVSbutton.click().then(function(){
console.log('Clicked on the download CVS button');
}).then(function(){
if (fs.existsSync(csvFilePath)) {
console.log('found');
converter.fromFile(csvFilePath,function(err,result){
if(err){
console.log("An Error Has Occured");
console.log(err);
}
//permissions = result;
console.log(csvFilePath);
console.log(result);
});
} else {
console.log('didnt find');
}
}).then(function(){
}).then(function(){
fs.unlink(csvFilePath, function(){
console.log('--->done');
});
});
【问题讨论】:
-
请给出运行日志?你有没有在下载的 csv 文件上对你的代码(没有量角器部分)进行快速测试,以检查它是否也可以单独工作
-
是的,我确实在没有量角器的情况下在下载的文件上运行了测试,然后它工作正常
-
@yong 请查看我的评论
标签: json node.js csv protractor e2e-testing