如何通过节点包在Protractor中通过JSON和EXCEL实现数据驱动测试?

时间:2017-03-02 09:58:08

标签: protractor

我的代码:

 browser.get('http://10.32.128.249:9090/');
 browser.driver.manage().window().maximize();
 var a = element(by.id("username"));
 var b = element(by.id("password")); 

登录后,有一个登录按钮。

我需要同时通过excel和JSON将一些数据输入用户名和密码。

请帮助。

1 个答案:

答案 0 :(得分:0)

请使用excel-as-json包,它有助于将excel转换为Json。 所以我们的代码将被编写为仅处理JSON文件。 这是链接excel to json

var convertExcel = require('excel-as-json').processFile;
convertExcel('path to store xlsx', 'path of json');

describe ('nsWeb Login Page Data Driven' , function() {
  browser.ignoreSynchronization = true;


beforeEach(function(){
  browser.get('http://10.32.128.249:9090/');
  browser.driver.manage().window().maximize();
 });

it('To verify Login, using Data Driven Technique from Json file', function()        
 {
  var testData = require('D:/json path');
  for(var i=0;i<=4;i++)  // if there are 5 data in json
 { 
  var a = element(by.id("username"));
  var b = element(by.id("password"));
  a.sendKeys(testData[i].username);
  b.sendKeys(testData[i].passwordField); 
 }
}); 
it('To verify Login, using Data Driven Technique from Excel file',     
 function(){
  var testData1 = require('D:/json path');
  var a = element(by.id("username"));
  var b = element(by.id("password"));
  a.sendKeys(testData1[0].username);
  b.sendKeys(testData1[0].passwordField); 
  });
 });

JSON示例:

[
  {
    "username": "kishan",
    "password": "patel"
  },
  {
    "username": "kishan",
    "password": "patel"
  },
  {
    "username": "kishan",
    "password": "patel"
  },
  {
    "username": "kishan",
    "password": "patel"
  },
  {
    "username": "kishan",
    "password": "patel"
  }
]

您可以在excel中放入相同的值,它将转换为JSON。

希望它有所帮助。