Schnittstelle updateTestPlan

Mithilfe der Schnittstelle updateTestPlan werden Tests durch bestehende Stammknoten aus XML-Dateien aktualisiert. Die HTTP-Antwort des Aufrufs enthält die XML-Struktur der geänderten Tests. Sie können die Kennungen der neuen Knoten der aktualisierten XML-Teststruktur entnehmen.

Die folgende Tabelle enthält die Parameter der Schnittstelle updateTestPlan.

Schnittstellen-URL Parameter Beschreibung

http://<front-end URL>/servicesExchange?hid=updateTestPlan

sid Webdienst-Token oder Sitzungs-ID für die Benutzerauthentifizierung. Sie können das Webdienst-Token auf der Einstellungsseite der Silk Central-Benutzeroberfläche generieren. Um auf diese Seite zuzugreifen, zeigen Sie mit dem Mauszeiger auf den Benutzernamen im Menü Silk Central und wählen Sie Benutzereinstellungen. Sie können die Sitzungs-ID abrufen, indem Sie die Methode logonUser für einen der verfügbaren Webdienste aufrufen.

Beispiel: http://<front-end URL>/servicesExchange?hid=updateTestPlan&sid=<webServiceToken>

Die Definitionsdatei für das XML-Schema, mit der überprüft wird, ob Testpläne über den URL des Front-End-Servers http://<Host>/silkroot/xsl/testplan.xsd heruntergeladen oder aus dem Installationsordner <Silk Central-Installationsordner>/wwwroot/silkroot/xsl/testplan.xsd des Front-End-Servers kopiert werden können.

Beispiel für den Webdienst updateTestPlan

Im folgenden Quelltext werden die Tests mithilfe von Apache HttpClient aktualisiert.

import org.apache.commons.httpclient.*; // Apache HttpClient
		
String webServiceToken = "e39a0b5b-45db-42db-84b2-b85028d954d5";
String xml = loadTestPlanUtf8(DEMO_TEST_PLAN_XML);
HttpClient client = new HttpClient();

URL webServiceUrl = new URL("http", mWebServiceHelper.getHost(),
  mWebServiceHelper.getPort(), 
  String.format("/servicesExchange?hid=%s&sid=%s",
    "updateTestPlan",
    webServiceToken));
StringPart testPlanXml = new StringPart(DEMO_TEST_PLAN_XML, xml,
  "UTF-8");
testPlanXml.setContentType("text/xml");
Part[] parts = {testPlanXml};
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();

Pro Anfrage kann nur ein Anhang hochgeladen werden. Apache HttpComponents können Sie von http://hc.apache.org/downloads.cgi herunterladen. Die erforderlichen Bibliotheken entnehmen Sie der Dokumentation der Komponente.

Testbeispiel

Der folgende Code zeigt ein Beispiel eines Tests, der mithilfe des Dienstes Silk Central undcreateTestPlan in updateTestPlan hochgeladen werden kann.

<?xml version="1.0" encoding="UTF-8"?>
  <TestPlan xmlns="http://www.borland.com/TestPlanSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://<front-end URL>/silkroot/xsl/testplan.xsd">

  <Folder name="Folder1" id="5438"> 
    <Description>Description of the folder</Description>
    <Property name="property1">
      <propertyValue>value1</propertyValue>
    </Property>
    <Test name="TestDef1" type="plugin.SilkTest">
      <Description>Description of the test</Description>
      <Property name="property2">
        <propertyValue>value2</propertyValue>
      </Property>
      <Property name="property3">
   	    <propertyValue>value3</propertyValue>
   	    <propertyValue>value4</propertyValue>
      </Property>
      <Parameter name="param1" type="string">string1</Parameter>
      <Parameter name="param2" type="boolean">true</Parameter>
						<Parameter name="paramDate" type="date">01.01.2001</Parameter>
      <Parameter name="paramInherited" type="string"
        inherited="true">
        inheritedValue1
      </Parameter>      
      <Step id="1" name="StepA">
        <ActionDescription>do it</ActionDescription>
        <ExpectedResult>everything</ExpectedResult>
      </Step>
      <Step id="2" name="StepB">
        <ActionDescription>and</ActionDescription>
        <ExpectedResult>everything should come</ExpectedResult>
      </Step>
    </Test>
    <Test name="ManualTest1" id="5441" type="_ManualTestType"
      plannedTime="03:45">
      <Description>Description of the manual test</Description>
      <Step id="1" name="StepA">
        <ActionDescription>do it</ActionDescription>
        <ExpectedResult>everything</ExpectedResult>
      </Step>
      <Step id="2" name="StepB">
        <ActionDescription>and</ActionDescription>
        <ExpectedResult>everything should come</ExpectedResult>
      </Step>
      <Step id="3" name="StepC">
        <ActionDescription>do it now"</ActionDescription>
        <ExpectedResult>
          everything should come as you wish
        </ExpectedResult>
      </Step>
    </Test>
    <Folder name="Folder2" id="5439">
      <Description>Description of the folder</Description>
      <Property name="property4">
        <propertyValue>value5</propertyValue>
      </Property>
      <Parameter name="param3" type="number">123</Parameter>
      <Folder name="Folder2_1" id="5442">
        <Description>Description of the folder</Description>
        <Test name="TestDef2" type="plugin.SilkPerformer">
          <Description>Description of the test</Description>
          <Property name="_sp_Project File">
            <propertyValue>ApplicationAccess.ltp</propertyValue>
          </Property>
          <Property name="_sp_Workload">
            <propertyValue>Workload1</propertyValue>
          </Property>
        </Test>
        <Test name="TestDef3" type="JUnitTestType"
          externalId="com.borland.MyTest">
          <Description>Description of the test</Description>
          <Property name="_junit_ClassFile">
            <propertyValue>com.borland.MyTest</propertyValue>
          </Property>
          <Property name="_junit_TestMethod">
            <propertyValue>testMethod</propertyValue>
          </Property>
          <Step id="1" name="StepA">
            <ActionDescription>do it</ActionDescription>
            <ExpectedResult>everything</ExpectedResult>
          </Step>
          <Step id="2" name="StepB">
            <ActionDescription>and</ActionDescription>
            <ExpectedResult>everything should come</ExpectedResult>
          </Step>
        </Test>
      </Folder>
    </Folder>
  </Folder>
</TestPlan>