Use csv/excel file to update Project Suite/Project variables before running test?
SOLVED- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Use csv/excel file to update Project Suite/Project variables before running test?
Hi,
I was just wondering if there is a way to update project suite/project variables value using data-driven logic?
It would help non-QA staff to just use file to update all variables and run the test in many environments.
Many Thanks,
Shiva
Solved! Go to Solution.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You can do something like this...........
DDT.ExcelDriver('C:\myVariable.xlsx','sheet1',true);
do {
if (!Project.Variables.VariableExists("DatabaseName"))
{ Project.Variables.AddVariable("DatabaseName", "String") }
Project.Variables.DatabaseName = DDT.CurrentDriver.Value('DBname');
}
while (!(DDT.CurrentDriver.EOF()));
DDT.CloseDriver(DDT.CurrentDriver.Name);
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks,
Is 'DatabaseName' the name of project suite variable or the variable name column in excel file?
and similarly, is 'DBname' the name of column forvariable values or the variable itself?
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
what is wrong in my line "ProjectSuite.Variables.varName= varvalue; " line?
It throws a Jscript runtime error: Object doesn't support this property or method.
function DDTDriverTest(){
DDT.ExcelDriver('C:\\TestComplete_Parameters\\RedOwl_Parameters.xlsx', "Sheet1", true);
// while there is data
while(!DDT.CurrentDriver.EOF()){
var varName= DDT.CurrentDriver.Value(0);
var varType= DDT.CurrentDriver.Value(1);
var varValue= DDT.CurrentDriver.Value(2);
if(!ProjectSuite.Variables.VariableExists(varName)){
ProjectSuite.Variables.AddVariable(varName,varType);
}
ProjectSuite.Variables.varName= varValue;
DDT.CurrentDriver.Next();
}
// Close driver
DDT.CloseDriver(DDT.CurrentDriver.Name);
}
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If the value of varName is "foo" and varvalue is "bar"
var foo = "bar"
these lines:
if(!ProjectSuite.Variables.VariableExists(varName)){ ProjectSuite.Variables.AddVariable(varName,varType); }
will create a Project Suite variable called foo, and you can access it using:
ProjectSuite.Variables.foo
So your code:
ProjectSuite.Variables.varName = varValue;
Tries to set the value of a project suite variable name "varName" instead of "foo". This variable does not exist, and thus gives the error.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As a convenience, you can access a variable in the Variables collection by its name. "varName" is not the name of the variable in the collection.
You probably want
ProjectSuite.Variables.VariableByName(varName) = varValue;
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Cool! This works
Thanks Everyone!
