updateExecutionDefinitions 接口用于从 XML 文件更新执行计划。调用的 HTTP 响应包含更改后的执行计划的 XML 结构。您可以从更新 XML 执行计划结构中获取新节点的标识符。
下表显示了 updateExecutionDefinitions 接口的参数。
| 接口 URL | 参数 | 说明 |
|---|---|---|
|
http://<front-end URL>/servicesExchange?hid=updateExecutionDefinitions |
sid | 用于用户身份验证的 Web 服务令牌或会话标识符。您可以在 Silk Central UI 的设置页面中生成 Web 服务令牌。要访问此页面,请将鼠标光标悬停在 Silk Central 菜单中的用户名上,然后选择用户设置。您可以通过调用可用 Web 服务之一的 logonUser 方法来检索会话标识符。 |
示例:http://<front-end URL>/servicesExchange?hid=updateExecutionDefinitions&sid=<webServiceToken>
用于验证执行的 XML 架构定义文件可以使用前端服务器 URL http://<前端服务器 URL>/silkroot/xsl/executionplan.xsd 下载,或从前端服务器安装文件夹 <Silk Central installation folder>/wwwroot/silkroot/xsl/executionplan.xsd 复制。
以下代码使用 Apache HttpClient 更新执行计划。
import org.apache.commons.httpclient.*; // Apache HttpClient
String webServiceToken = "e39a0b5b-45db-42db-84b2-b85028d954d5";
string xml = loadExecutionPlanUtf8(DEMO_EXECUTION_PLAN_XML);
HttpClient client = new HttpClient();
URL webServiceUrl = new URL("http", mWebServiceHelper.getHost(),
mWebServiceHelper.getPort(),
String.format("/servicesExchange?hid=%s&sid=%s",
"updateExecutionDefinitions",
webServiceToken));
StringPart ExecutionPlanXml = new StringPart(DEMO_EXECUTION_PLAN_XML, xml,
"UTF-8");
ExecutionPlanXml.setContentType("text/xml");
Part[] parts = {ExecutionPlanXml};
PostMethod filePost = new PostMethod(webServiceUrl.toExternalForm());
filePost.setRequestEntity(new MultipartRequestEntity(parts,
filePost.getParams()));
client.getHttpConnectionManager().getParams().setConnectionTimeout(60000);
int status = client.executeMethod(filePost);
System.out.println(filePost.getStatusLine());
String responseXml = filePost.getResponseBodyAsString();
每个请求仅可上载一个附件。要下载 Apache HttpComponents,请访问 http://hc.apache.org/downloads.cgi。请参阅组件文档,了解所需的库。
以下代码显示可通过 createExecutionDefinitions 和 updateExecutionDefinitions 服务上载至 Silk Central 的示例执行计划。该示例为其中一个执行定义创建自定义计划,并通过手动分配和筛选器将测试分配到执行计划。该示例还会创建一个包含这些配置的配置套件。
<?xml version="1.0" encoding="UTF-8"?>
<ExecutionPlan xmlns="http://www.borland.com/ExecPlanSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://<front-end URL>/silkroot/xsl/executionplan.xsd">
<Folder name="Folder1">
<Description>Description of the folder</Description>
<ExecDef name="ExecutionDefinition1" TestContainerId="1">
<Description>Description1</Description>
<CustomSchedule>
<start>2009-11-26T21:32:52</start>
<end>
<forever>true</forever>
</end>
<Interval day="1" hour="2" minute="3"></Interval>
<adjustDaylightSaving>false</adjustDaylightSaving>
<exclusions>
<days>Monday</days>
<days>Wednesday</days>
<from>21:32:52</from>
<to>22:32:52</to>
</exclusions>
<definiteRun>2009-11-27T21:35:12</definiteRun>
</CustomSchedule>
<ReadFromBuildInfoFile>true</ReadFromBuildInfoFile>
<Priority>High</Priority>
<SetupTestDefinition>73</SetupTestDefinition>
<CleanupTestDefinition>65</CleanupTestDefinition>
<AssignedTestDefinitions>
<ManualAssignment useTestPlanOrder="true">
<TestId>6</TestId>
<TestId>5</TestId>
</ManualAssignment>
</AssignedTestDefinitions>
</ExecDef>
<ExecDef name="ExecutionDefinition2" TestContainerId="1">
<Description>Description2</Description>
<Build>1</Build>
<Version>1</Version>
<Priority>Low</Priority>
<SourceControlLabel>Label1</SourceControlLabel>
<DependentExecDef id="65">
<Condition>Passed</Condition>
<Deployment>
<Specific>
<Execution type="Server" id="1"/>
<Execution type="Tester" id="0"/>
</Specific>
</Deployment>
</DependentExecDef>
<DependentExecDef id="70">
<Condition>Failed</Condition>
<Deployment>
<Specific>
<Execution type="Tester" id="0"/>
</Specific>
</Deployment>
</DependentExecDef>
<DependentExecDef id="68">
<Condition>Any</Condition>
<Deployment>
<UseFromCurrentExedDef>true</UseFromCurrentExedDef>
</Deployment>
</DependentExecDef>
</ExecDef>
<ConfigSuite name="ConfigSuite1" TestContainerId="1">
<Description>ConfigSuite1 desc</Description>
<CustomSchedule>
<start>2009-11-26T21:32:52</start>
<end>
<times>1</times>
</end>
<Interval day="1" hour="2" minute="3"/>
<adjustDaylightSaving>false</adjustDaylightSaving>
<exclusions>
<days>Monday</days>
<days>Wednesday</days>
<from>21:32:52</from>
<to>22:32:52</to>
</exclusions>
<definiteRun>2009-11-27T21:35:12</definiteRun>
</CustomSchedule>
<ConfigExecDef name="Config1">
<Description>Config1 desc</Description>
<Priority>Medium</Priority>
</ConfigExecDef>
<ConfigExecDef name="Config2">
<Priority>Medium</Priority>
<DependentExecDef id="69">
<Condition>Any</Condition>
<Deployment>
<UseFromCurrentExedDef>true</UseFromCurrentExedDef>
</Deployment>
</DependentExecDef>
</ConfigExecDef>
<Build>8</Build>
<Version>2</Version>
<SourceControlLabel>ConfigSuite1 label</SourceControlLabel>
<SetupTestDefinition>73</SetupTestDefinition>
<CleanupTestDefinition>65</CleanupTestDefinition>
<AssignedTestDefinitions>
<ManualAssignment useTestPlanOrder="true">
<TestId>6</TestId>
<TestId>5</TestId>
</ManualAssignment>
</AssignedTestDefinitions>
</ConfigSuite>
</Folder>
</ExecutionPlan>