我需要一些帮助来参数化我的测试套件。
我想创建一个Json文件Suites.json并在此文件中定义套件
$dt1 = New-Object System.Data.DataTable
$dt1.Columns.Add("Make") > $null
$dt1.Columns.Add("Model") > $null
$dt1.Columns.Add("Year") > $null
$dt1.Rows.Add("Ford","Mustang","2010") > $null
$dt1.Rows.Add("Ford","Mustang","2011") > $null
$dt1.Rows.Add("VW","Golf","2016") > $null
$dt2 = New-Object System.Data.DataTable
$dt2.Columns.Add("Make") > $null
$dt2.Columns.Add("Model") > $null
$dt2.Columns.Add("Year") > $null
$dt2.Rows.Add("Ford","Fiesta","2010") > $null
$dt2.Rows.Add("Ford","Mustang","2011") > $null
$dt2.Rows.Add("VW","Golf","2016") > $null
#Load $dt2-values into $dt1
$dt1.Merge($dt2)
#Show merged table
$dt1
Make Model Year
---- ----- ----
Ford Mustang 2010
Ford Mustang 2011
VW Golf 2016
Ford Fiesta 2010
Ford Mustang 2011
VW Golf 2016
#Get distinct values only (distinct rows for make, model and year)
$dt1.DefaultView.ToTable($true,"Make","Model","Year")
Make Model Year
---- ----- ----
Ford Mustang 2010
Ford Mustang 2011
VW Golf 2016
Ford Fiesta 2010
现在我想在protractor.conf.js中使用这个Json文件 我导入了JSON文件:
module.exports = {
Suites:
Smoke: 'File1.spec.js','File2.spec.js',
Main: 'File1.spec.js','File2.spec.js','File3.spec.js'
}
现在如果我想在我的实际Conf文件中找到我们,我不知道如何使用它。
我应该说:
var SuiteFile = require('../Suites.json')
有人可以确认一下吗?
答案 0 :(得分:4)
是的,绝对可以做这样的事情。 有关详细信息,请参阅my blog帖子
步骤1:使用套件
创建一个js文件module.exports = {
suitesCollection: {
smoke: ['File1.spec.js','File2.spec.js',],
sanity: ['File1.spec.js','File2.spec.js','File3.spec.js'],
demo: ['demo.js']
}
}
步骤2:导入js文件并指向exports.config.suites以使用此文件中的信息
var suitesFile = require('./suites.js');
exports.config = {
suites: suitesFile.suitesCollection,
更新:如果需要为套件使用Json Feed,请参阅下面的
步骤1:使用密钥值对套件
创建JSON文件{
"smoke": "demo.js,demo2.js",
"sanity": "demo2.js,demo.js,demo3.js",
"demo": "demo.js"
}
步骤2:导入JSON并相应地编辑配置文件。如果您还希望生成套件名称,请创建一个自定义函数来迭代JSON并构建套件
var suitesJson = require('./suites.json');
exports.config = {
suites: {
smoke: suitesJson.smoke.split(","),
sanity: suitesJson.sanity.split(","),
demo: suitesJson.demo.split(",")
},
OR 如果你需要用JSON完全构造Suites对象(当你甚至不知道套件名称时)
量角器配置文件
var suitesJson = require('./suites.json');
var suitesAll = {}
for(var myKey in suitesJson) {
suitesAll[myKey] = suitesJson[myKey].split(",");
}
exports.config = {
suites: suitesAll,