1

我目前正在处理从 11 到 12.20 的 ALM QC 升级活动。在此期间,我需要验证、修复和升级每个项目。有什么办法可以自动化吗?我对使用 UFT 或 selenium 持开放态度。让我知道是否有其他方法可以做到这一点。

4

2 回答 2

0

我最终使用 HP ALM Robot 来自动升级 QC 项目。当时没有太多的文档除了:https://community.softwaregrp.com/dcvta86296/attachments/dcvta86296/itrc-895/91467/1/Robot_User_Guide_0.pdf

现在也有视频可以帮助完成这个过程:https ://www.youtube.com/watch?v=l-McyxeW0aI

于 2018-05-09T22:38:43.293 回答
0

我建议使用SaApi. 你可以阅读更多关于它的信息
ALM help-> API references -> HP ALM Site Administration API Reference

基本上它是一个作为 COM 对象的 dll,因此您可以通过注册它regsvr32并在您的 .NET 应用程序或 vbs 应用程序中使用它。

要获取此 dll,只需登录站点管理员一次 - 您将拥有它以及其他站点管理员库,路径如下 ->
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  

现在您可以添加SAClient到您的项目引用。

参考

创建一个简单的客户端。

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, "");
}}

使用客户端;)

 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();
}}
于 2016-08-09T13:46:28.030 回答