Sparx Systems Forum
Enterprise Architect => Bugs and Issues => Topic started by: pawel.skrzypkowski on October 24, 2018, 11:48:40 pm
-
Hello everyone!
I'm new to EA and scripting. I'm trying to change Status field of each testset and testcase which has this field null or empty. My script:
var goodStatus = Repository.GetElementByGuid("{20B7B91E-E77F-447e-AAC1-DA5DD2C2F157}").Status;
function doJob(jobArray) {
var packageArray = new Array();
for(var i=0; i<jobArray.length; i++){
packageArray.push(Repository.GetPackageByGuid(jobArray));
}
var caseArray = new Array();
for(var i=0;i<packageArray.length;i++){
for(var j=0; j<packageArray.Elements.Count; j++){
caseArray.push(packageArray.Elements.GetAt(j));
}
}
var k = 0;
for(var i=0; i<caseArray.length; i++){
if(caseArray.Status == null || caseArray.Status == ""){
caseArray.Status = goodStatus;
caseArray.Update()
Session.Output(caseArray.Name);
k++;
}
for(var j=0; j<caseArray.Elements.Count; j++){
if(caseArray.Elements.GetAt(j).Status == null || caseArray.Elements.GetAt(j).Status == ""){
caseArray.Elements.GetAt(j).Status = goodStatus;
caseArray.Elements.GetAt(j).Update()
Session.Output(caseArray.Elements.GetAt(j).Name);
k++;
}
}
}
Session.Output(packageArray[0].Update());
Session.Output(k);
}
doJob(["{F728384C-3826-4af1-8B4F-DACFFAEEE548}", "{9A565DD8-7D0A-4058-95D7-ED3BA62C721B}"]);
This script didtn't throw any error but Status field didn't change. Do you know what i am doing wrong?
thank's for help
-
if caseArray is an array and not an EA.Element, how can caseArray.Status ever work?
Geert
-
IOW:
for(var i=0; i<caseArray.length; i++){
if(caseArray.Status == null || caseArray.Status == ""){
You need to get the element from caseArray and work on that.
q.
-
Using the below code for setting the status .
!INC Local Scripts.EAConstants-JScript
/*
* Script Name:
* Author:
* Purpose:
* Date:
*/
var goodStatus = "Approved";
function doJob(jobArray) {
var packageArray = new Array();
for(var i=0; i<jobArray.length; i++){
packageArray.push(Repository.GetPackageByGuid(jobArray[i]));
}
var caseArray = new Array();
for(var i=0;i<packageArray.length;i++){
for(var j=0; j<packageArray[i].Elements.Count; j++){
caseArray.push(packageArray[i].Elements.GetAt(j));
}
}
var k = 0;
for(var i=0; i<caseArray.length; i++){
//if(caseArray[i].Status == null || caseArray.Status == ""){
caseArray[i].Status = goodStatus;
caseArray[i].Update()
Session.Output(caseArray[i].Name);
k++;
//}
for(var j=0; j<caseArray[i].Elements.Count; j++){
if(caseArray.Elements.GetAt(j).Status == null || caseArray.Elements.GetAt(j).Status == ""){
caseArray.Elements.GetAt(j).Status = goodStatus;
caseArray.Elements.GetAt(j).Update()
Session.Output(caseArray.Elements.GetAt(j).Name);
k++;
}
}
}
Session.Output(packageArray[0].Update());
Session.Output(k);
}
doJob(["{7C1F48ED-4507-4adb-ACBD-F848626E85B2}"]);//{5C1F6946-A582-4808-B7EF-6AE2660A9741}", "{E68B375C-A886-42f3-B4AE-A4E62D98E8A3}"]);
Note : replace the GUIDs with your model GUIDs
HTH
Arshad