createExecutionDefinitions 接口用于创建新执行计划。调用的 HTTP 响应包含更改后的执行计划的 XML 结构。您可以从更新 XML 执行计划结构中获取新节点的标识符。
下表显示了 createExecutionDefinitions 接口的参数。
| 接口 URL | 参数 | 说明 |
|---|---|---|
|
http://<front-end URL>/servicesExchange?hid=createExecutionDefinitions |
sid | 用于用户身份验证的 Web 服务令牌或会话标识符。您可以在 Silk Central UI 的设置页面中生成 Web 服务令牌。要访问此页面,请将鼠标光标悬停在 Silk Central 菜单中的用户名上,然后选择用户设置。您可以通过调用可用 Web 服务之一的 logonUser 方法来检索会话标识符。 |
| parentNodeID | 执行计划树中要添加新执行计划的节点的 ID |
示例:http://<front-end URL>/servicesExchange?hid=createExecutionDefinitions&parentNodeID=<id>&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";
URL service = new URL("http", mWebServiceHelper.getHost(),
mWebServiceHelper.getPort(),
String.format("/servicesExchange?hid=%s&sid=%s&parentNodeID=%d",
"createExecutionDefinitions", webServiceToken,
PARENT_NODE_ID));
HttpClient client = new HttpClient();
PostMethod filePost = new PostMethod(service.toExternalForm());
String xmlFile = loadExecutionDefinitionsUtf8("executionplan.xml");
StringPart xmlFileItem = new StringPart("executionplan", xmlFile,
"UTF-8");
xmlFileItem.setContentType("text/xml");
Part[] parts = {xmlFileItem};
filePost.setRequestEntity(new MultipartRequestEntity(parts,
filePost.getParams()));
client.getHttpConnectionManager().getParams().setConnectionTimeout(60000);
int status = client.executeMethod(filePost);
System.out.println(filePost.getStatusLine());
每个请求仅可上载一个附件。要下载 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>