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