上传Test Result和attachment到ALM
之前在HP的时候用ALM,还是很好用的功能很强大的一个测试管理工具,当时用C#依照ALM的API实现了一个上传测试结果的程序,现在贴出来:
这个程序的使用方式很自由,使得ALM几乎可以和所有测试工具做集成,只要测试工具能够提供xml的测试结果
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; using TDAPIOLELib; namespace ALMConnector
{
public class ALMConnection
{
private TDConnection almConnection;
private TestSetTreeManager tsTreeMan;
private TestSetFolder rootFolder;
// 初始化建立到ALM的connection
public ALMConnection(string almURL_)
{
almConnection = new TDConnection();
almConnection.InitConnectionEx(almURL_);
} ~ALMConnection()
{
// Extremely important to clean up and release resoures when done
DisconnectProject();
Logout();
almConnection.ReleaseConnection();
} public string ServerULR
{
get
{
return almConnection.ServerURL;
}
} public string UserName
{
get
{
return almConnection.UserName;
}
} public string DomainName
{
get
{
return almConnection.DomainName;
}
} public string ProjectName
{
get
{
return almConnection.ProjectName;
}
} public TDAPIOLELib.List ProjectList
{
get
{
return almConnection.ProjectsList;
}
}
//用户名密码登陆
public void Login(string userName_, string password_)
{
almConnection.Login(userName_, password_);
}
//连接到项目,得到项目的testsuite rootfolder
public void ConnectProject(string domainName_, string projectName_)
{
if (almConnection.Connected)
{
almConnection.Connect(domainName_, projectName_);
GetRootFolder();
}
}
//释放connection
public void DisconnectProject()
{
if (almConnection.Connected)
{
almConnection.Disconnect();
}
}
//登出
public void Logout()
{
if (almConnection.LoggedIn)
{
almConnection.Logout();
}
}
//获取到testset的folder
public bool FindTestSetFolder(string almFolderPath, out TestSetFolder almFolder)
{
almFolder = (TestSetFolder)tsTreeMan.get_NodeByPath(almFolderPath);
return !(almFolderPath == null);
} public TestSetFolder GetRootFolder()
{
if (tsTreeMan == null)
{
tsTreeMan = (TestSetTreeManager)almConnection.TestSetTreeManager;
}
if (rootFolder == null)
{
rootFolder = (TestSetFolder)tsTreeMan.Root;
}
return rootFolder;
}
//建立testset
public bool CreateTestSet(TestSetFolder targetFolder_, string newTestSetName_, out TestSet testSetInstance_)
{
List tsList = targetFolder_.FindTestSets(newTestSetName_);
if (tsList == null)
{
TestSetFactory tsFact = targetFolder_.TestSetFactory;
TestSet tsNew = tsFact.AddItem(DBNull.Value);
tsNew.Name = newTestSetName_;
tsNew.Status = "Open";
tsNew.Post(); testSetInstance_ = tsNew; return true;
}
else if (tsList.Count == )
{
testSetInstance_ = tsList[];
}
else
{
testSetInstance_ = null;
} return false;
}
//上传测试结果到testset
public bool AddTestResultToTestSet(TestSet tsRun, TestResult tsResult)
{
TSTestFactory tsTestFact = tsRun.TSTestFactory;
TSTest newTSTest = tsTestFact.AddItem(tsResult.TestId);
newTSTest.Status = tsResult.TestStatus;
newTSTest.Post(); return true;
}
//上传attachment到testset
public void UploadAttachmentToTestSet(TestSet tsRun, String reportPath)
{
TestSet tSet = null;
AttachmentFactory attfat = null;
Attachment attobj = null;
if (File.Exists(reportPath))
{
Console.WriteLine("Find Attachment File,Uploading ...");
tSet = tsRun;
attfat = tSet.Attachments;
attobj = attfat.AddItem(System.DBNull.Value);
attobj.FileName = reportPath;
attobj.Type = ;
attobj.Post();
}
}
}
}
上传Test Result和attachment到ALM的更多相关文章
- ASP.NET、JAVA跨服务器远程上传文件(图片)的相关解决方案整合
一.图片提交例: A端--提交图片 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string u ...
- 【完整靠谱版】结合公司项目,仔细总结自己使用百度编辑器实现FTP上传的完整过程
说在前面 工作中会遇到很多需要使用富文本编辑器的地方,比如我现在发布这篇文章离不开这个神器,而且现在网上编辑器太多了.记得之前,由于工作需要自己封装过一个编辑器的公共插件,是用ckeditor改版的, ...
- NET实现微信公共平台上传下载多媒体文件(转)
举个例子,有人对着我们的公共微信号拍个照片发送过来,然后我们处理这个照片,比如进行ocr识别字(随后就会降到这个例子),或者人脸识别,或者拍照取证等,这些功能都是相当有用的.那么我们现在就要分析一下这 ...
- Webwork 学习之路【07】文件上传下载
Web上传和下载应该是很普遍的一个需求,无论是小型网站还是大并发访问的交易网站.WebWork 当然也提供了很友好的拦截器来实现对文件的上传,让我们可以专注与业务逻辑的设计和实现,在实现上传和下载时顺 ...
- 【UEditor】 UEditor整合项目上传资源到阿里云服务器
目录 关于此文 下载源码 JSP代码 Java代码 阿里云jar包引入配置 成功啦! 回到顶部 关于此文 项目中要实现编辑器生成带格式的html文档,存入模板,最后生成html的URL,所以选择了UE ...
- ASP.NET跨服务器上传文件的相关解决方案
第一种:通过FTP来上传文件 首先,在另外一台服务器上设置好FTP服务,并创建好允许上传的用户和密码,然后,在ASP.NET里就可以直接将文件上传到这台 FTP 服务器上了.代码如下: <%@ ...
- java实现多线程断点续传,上传下载
采用apache 的 commons-net-ftp-ftpclient import java.io.File; import java.io.FileOutputStream; import ja ...
- 微信公共服务平台开发(.Net 的实现)8-------处理图片(上传下载发送)
举个例子,有人对着我们的公共微信号拍个照片发送过来,然后我们处理这个照片,比如进行ocr识别字(随后就会降到这个例子),或者人脸识别,或者拍照取证等,这些功能都是相当有用的.那么我们现在就要分析一下这 ...
- phpcms前端页面上传文件
PHPCMS其实有一个叫做附件的模块,上传用的就是这个东西,现在我们来看一下对应的文件:phpcms\modules\attachment \attachments.php就是这个文件,大概在29行上 ...
随机推荐
- Maven实战(六)--- dependencies与dependencyManagement的区别
在上一个项目中遇到一些jar包冲突的问题,之后还有很多人分不清楚dependencies与dependencyManagement的区别,本篇文章将这些区别总结下来. 1.DepencyManagem ...
- 用rbenv给整个系统安装ruby(所有用户都可用)
rbenv非常好用,但有一个小问题,每个用户都需要单独安装和设置版本. 下面安装步骤可以安装在/usr/local/rbenv下,所有用户都可以共享rbenv. #rbenv安装(/usr/loc ...
- ubuntu下搭建hive(包括hive的web接口)记录
Hive版本 0.12.0(独立模式) Hadoop版本 1.12.1 Ubuntu 版本 12.10 今天试着搭建了hive,差点迷失在了网上各种资料中,现在把我的经验分享给大家,亲手实践过,但未必 ...
- android-HttpClient上传信息(包括图片)到服务端
需要下载apache公司下的HttpComponents项目下的HTTPCLIENT ----------地址为http://hc.apache.org/downloads.cgi 主要是用到了htt ...
- 二叉搜索树的两种实现(数组模拟,STL)
书上实现: 二叉搜索数的特点:高效实现 插入一个数值,查询是否包含某个数值,删除某一个数值. 所有的节点都满足左子树上的所有节点都比自己的小,而右子树上的所有节点都比自己大的特点. 查询:如果当前数值 ...
- Commons-Collections
package com.bjsxt.others.commons; import java.util.ArrayList; import java.util.List; import org.apac ...
- mysql 字符串函数
对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的 最左面字符的ASCII代码值.如果str是空字符串, 返回0.如果str是NULL,返回NULL. mysq ...
- STL笔记(1)map
STL笔记(1)map STL之map ZZ from http://hi.baidu.com/liyanyang/blog/item/d5c87e1eb3ba06f41bd576cf.html 1. ...
- website project team member 角色及开发过程概念图
一个web项目的团队往往具有以下角色的人员组成: project stakeholder(client or business owner)产品经理 Project manager 项目经理 prod ...
- android 单词
inflate: 胀, 膨, 通货膨胀, 膨胀系数