【问题标题】:ALM Rest API (C#) : Creation of Test SetALM Rest API (C#):创建测试集
【发布时间】:2017-11-13 13:38:51
【问题描述】:

我已经成功地使用 Rest API 登录/验证了我的 ALM 实例,但我现在对如何创建新测试集感到困惑。

private string CreateTestSetURL =  "{0}rest/domains/{1}/projects/{2}/test-sets";

// Parameters : 0 = Open Date, 1 = Description, 2 = parent, 3 = Name.
private const string TestSetsXML = "<Entity Type=\"test-set\">" +
    "<Fields>" +
        "<Field Name=\"status\"><Value>Open</Value></Field>" +
         "<Field Name=\"open-date\"><Value>{0}</Value></Field>" +
         "<Field Name=\"subtype-id\"><Value>hp.pc.test-set.performance</Value></Field>" +
         "<Field Name=\"description\"><Value>{1}</Value></Field>" +
         "<Field Name=\"parent-id\"><Value>{2}</Value></Field>" +
         "<Field Name=\"name\"><Value>{3}</Value></Field>" +
    "</Fields>" +
"</Entity>";

string requestURL = String.Format(TestSetsURL, baseRequestURL, qcSettings.QCDomain, qcSettings.QCProject);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(requestURL));

string xml = String.Format(TestSetsXML, "2015-12-17", "test please ignore", parent, "TestPleaseIgnore");
byte[] Requestbytes = Encoding.UTF8.GetBytes(xml);

//request.
request.CookieContainer = authenticationCookieContainer;
request.Method = "POST";
request.ContentType = "application/xml";
request.Accept = "application/xml";
request.ContentLength = Requestbytes.Length;

Stream requestStream = request.GetRequestStream();
requestStream.Write(Requestbytes, 0, Requestbytes.Length);
 requestStream.Close();

var response = request.GetResponse();
var responseStream = response.GetResponseStream();

结果是这个错误: “远程服务器返回错误:(400) Bad Request。”

可能有几个问题:

  1. 应该是一个帖子吗? - 根据documentation here 应该是..
  2. 格式是否正确?

更新: 我已经尝试过 Barneys 的建议,但我仍然收到 (400) 错误请求。

问题已随更改更新。

【问题讨论】:

  • 测试集信息应该是请求正文的一部分,而不是查询字符串中。
  • @Barney 你的意思是它应该是你传递的 XML 吗?
  • 你是否在某处初始化了变量 parent?
  • 是的,它设置为我认为正确的......难道就这么简单吗??

标签: c# rest alm hp-quality-center


【解决方案1】:

你必须给服务器两个重要的东西(data = your_Xml 和 headers=for 授权)那么你应该没有问题;)无论如何错误代码是 400 还是 500?通常 500 是错误的请求 / 400 是错误的授权

会不会是你的用户只有读取权限,不能创建?

希望您同时解决您的问题;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多