我可以在量角器中将测试数据从JSON文件提取到页面对象文件

时间:2016-10-21 11:02:07

标签: protractor

我正在研究量角器,我为我的项目创建了一个测试数据(JSON)文件,我也使用Page Object作为我的脚本。有时我需要将测试数据放入我的Page对象文件中,以便在创建后在屏幕上识别对象。

我有多个具有相同css定位器的对象,我想识别具有使用JSON插入的数据的特定对象。我正在使用' cssContainingText' locator用于标识对象但无法直接从JSON获取数据。

有人可以帮我解决问题吗?我不知道如何从页面对象文件中调用数据文件(JSON)。

2 个答案:

答案 0 :(得分:7)

除了@Tom的回答,您可以将测试数据路径分配给conf.js文件的params对象,并使用变量名称在任何文件中访问它。

请看下面的示例config.js文件。

exports.config = {

  seleniumAddress: 'http://localhost:4444/wd/hub',
  capabilities: {
    'browserName': 'chrome'
  },

  onPrepare: function () {

  },
   params: {
     testdata: require('path/to/json/file.json')
  }
}

在您的pageObjects或Spec中,您可以使用browser.params.testdata.users或任何testdata对象的名称访问数据。

答案 1 :(得分:3)

一个简单的require语句可以将json文件包含在PageObject中。

// The require statement will import your JSON file into the json variable
var json = require('path/to/json/file.json');

// Now you can access data from your json file as usual:
var users = json.users;   //Example 1
var data = json['data'];  //Example 2