1

I am currently taking care of ALM QC upgrade activity from 11 to 12.20. During this i need to verify, repair and upgrade each project. Is there any way to automate this? I am open on using UFT or selenium. Let me know if there is any other way to do this.

Gauri Gadkari
  • 237
  • 4
  • 12

2 Answers2

0

I'd recommend using SaApi. You can read more about it in
ALM help-> API references -> HP ALM Site Administration API Reference

Basically it's a dll that is a COM object, so you can register it by regsvr32 and use it in your .NET application or vbs application.

To get this dll just login to site admin once - and you'll have it along with other site admin libraries in a path like this ->
C:\Users\YOUR_USERNAME\AppData\Local\HP\ALM-Client\YOUR_ALM_NAME

run cmd.exe as Administrator  
register SAClient.dll in cmd  
-> C:\Windows\system32>regsvr32 C:\Users\YOUR_USERNAME\AppData\Local\HP\ALM-Client\YOUR_ALM_NAME\SAClient.dll  

Now you can add SAClient to your project references.

references

Create a simple client.

public class ALMSiteAdminClient
{
private SAapi sconnection = new SAapi();

public void connect(string url, string user, string password)
{
  sconnection.Login(url, user, password);
}

public void disconnect()
{
  sconnection.Logout();
}

public void verifyProject(string domain, string project)
{
  sconnection.Verify(domain, project, "basic");
}
public void repairProject(string domain, string project)
{
  sconnection.Repair(domain, project, "");
}
public void upgradeProject(string domain, string project)
{
  sconnection.Upgrade(domain, project, "");
}}

Use the client ;)

 static void Main(string[] args)
{
  //get list of a projects from anywhere you want
  //this is just a mock example
  Dictionary<string, string> projects = new Dictionary<string, string>();
  projects.Add("domain1", "project1");
  projects.Add("domain1", "project2");

  //create site admin client and login
  ALMSiteAdminClient SACLIENT = new ALMSiteAdminClient();
  SACLIENT.connect("http://myd-vm15059.hpeswlab.net:8081/qcbin", "sa","");
  //do whatever you need with each project
  foreach (KeyValuePair<string, string> project in projects)
  {
    SACLIENT.verifyProject(project.Key, project.Value);
    SACLIENT.repairProject(project.Key, project.Value);
    SACLIENT.upgradeProject(project.Key, project.Value);
  }
  //logout
  SACLIENT.disconnect();
}}
Andre
  • 26,751
  • 7
  • 36
  • 80
Alex
  • 108
  • 1
  • 6
0

I ended up using HP ALM Robot for auto upgrading QC projects. At the time there wasnt much documentation apart from: https://community.softwaregrp.com/dcvta86296/attachments/dcvta86296/itrc-895/91467/1/Robot_User_Guide_0.pdf

Now there are videos to help out the process too: https://www.youtube.com/watch?v=l-McyxeW0aI

Gauri Gadkari
  • 237
  • 4
  • 12