[
以上图片我运行的量角器Conf.js具有存储在JSON文件中的特定环境名称
如何仅在量角器测试用例中测试特定的环境URL?
答案 0 :(得分:3)
第一种方法 - 您必须在命令行中使用params
变量传递参数。更新您的conf.js
文件,以包含名为baseUrl
的参数和其他网址变量,如下所示 -
params: {
baseUrl: "http://default_url" //provide your default url to be used
}
稍后在命令提示符中传递值。这是怎样的 -
protractor conf.js --params.baseUrl 'http://www.google.com'
只要您有代码在规范中获取网址,请使用以下代码 -
browser.get(browser.params.baseUrl);
第二种方法 - 如果您根本不想每次都将网址传递给params
对象,那么您可以将它们存储在您的conf.js甚至是specs文件并调用它们。这是一个例子 -
您的conf.js
文件 -
params: {
baseUrl: ""
},
onPrepare: function(){
switch(browser.params.baseUrl){
case 'firsturl':
browser.get("http://firsturl.com"); //replace firsturl with your actual url
break;
case 'secondurl':
browser.get("http://www.secondurl.com");
break;
default:
browser.get("http://www.defaulturl.com");
}
}
现在通过命令行传递您要使用的网址 -
protractor conf.js --params.baseUrl 'firsturl' //to get first url
protractor conf.js //to open default url
第三种方法 - 如果您遇到运行具有许多规范的测试套件的问题,那么第二种方法就不会起作用。您需要在每个测试规范文件中使用browser.get()
,在这种情况下,请使用以下方法 -
更新您的conf.js文件 -
params: {
baseUrl: "",
url: ""
},
onPrepare: function(){
switch(browser.params.baseUrl){
case 'firsturl':
browser.params.url = "http://firsturl.com"; //replace firsturl with your actual url
break;
case 'secondurl':
browser.params.url = "http://www.secondurl.com";
break;
default:
browser.params.url = "http://www.defaulturl.com";
}
}
您的命令行命令 -
protractor conf.js --params.baseUrl 'firsturl' //to get first url
protractor conf.js //to open default url
您的测试规范文件需要包含browser.get()
命令。这是怎样的 -
browser.get(browser.params.url);
希望它有所帮助。
答案 1 :(得分:0)
仅在一个地方使用来自json的网址:
var jsonFile = require("./path/to/json/relative/to/currentRunFolder");
urlToUse = jsonFile.url; // or however you stored it.
在任何规范中使用它,您可以在每次运行时更改json文件。我希望我理解正确。
要将参数传递给量角器,请使用--params.jsonFile="./path/to/json/relative/to/currentRunFolder"
并使用browser.params.jsonFile