1)本周早些时候,我能够使用Create方法创建缺陷和测试用例,该方法当时有2个参数(字符串和DynamicJsonObject)。但是现在,它需要三个。我知道其中一个现在是工作区引用。如何获取工作区参考?为了创建缺陷和测试用例,我使用的是一个空字符串,这对我来说似乎正常。这是预期的吗?
2)为了创建测试用例结果,我遇到了一些麻烦。
DynamicJsonObject newTCResult = new DynamicJsonObject();
newTCResult["Date"] = DateTime.Now.ToString("yyyyMMdd");
newTCResult["TestCase"] = "/testcase/11271454106";
newTCResult["Notes"] = "test";
newTCResult["Build"] = "13.1.0.90";
newTCResult["Verdict"] = "Pass";
CreateResult cr = restApi.Create(" ", "TestCaseResult", newTCResult);
截至目前,我运行时绝对没有任何事情发生。本周早些时候我成功地做到了这一点(当我能够使用带有两个参数的Create方法时)。我觉得问题是因为我没有有效的工作区引用。在此之前我遵循了另一个用户提出的类似问题的建议,但是现在我遇到了这个问题。
答案 0 :(得分:1)
我终于能够解决这个问题了。看来日期字段需要转换为UTC,所以我的代码现在看起来像这样
newTCResult [“Date”] = DateTime.UtcNow.ToString(“o”);
在做出那么小的改变后,结果正常。
答案 1 :(得分:0)
有点令人惊讶的是,Creates on Stories或Defects使用一个空字符串来处理Workspace ref,虽然我怀疑在服务器端,Webservices API只是为所关注的用户使用Default Workspace。
无论哪种方式,以下是您如何获得感兴趣的工作区的参考资料:
String myWorkspaceName = "My Workspace";
// Get a Reference to Target Workspace
Request workspaceRequest = new Request("workspace");
workspaceRequest.Fetch = new List<string>()
{
"Name",
"ObjectID"
};
workspaceRequest.Query = new Query("Name", Query.Operator.Equals, myWorkspaceName);
QueryResult workspaceQueryResults = restApi.Query(workspaceRequest);
var targetWorkspace = workspaceQueryResults.Results.First();
Console.WriteLine("Found Target Workspace: " + targetWorkspace["Name"]);
String workspaceRef = targetWorkspace["_ref"];
然后,您可以在致电workspaceRef
时使用restApi.Create()
。