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>