Interface updateTestPlan

L'interface updateTestPlan permet de mettre à jour les tests avec les nœuds racine existants des fichiers XML. La réponse HTTP de l'appel comprend la structure XML des tests modifiés. Les identifiants des nouveaux nœuds sont disponibles dans la structure du test XML mis à jour.

Le tableau ci-dessous présente les paramètres de l'interface updateTestPlan.

URL de l'interface Paramètre Descriptions

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

sid Jeton de service Web ou identificateur de session pour l'authentification des utilisateurs. Vous pouvez générer le jeton de service Web dans la Page Paramètres de l'interface utilisateur de Silk Central. Pour accéder à cette page, passez le curseur de la souris sur le nom d'utilisateur dans le menu Silk Central et sélectionnez Paramètres utilisateur. Vous pouvez appeler la méthode logonUser de l'un des services Web disponibles pour récupérer l'identificateur de session.

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

Le fichier de définition du schéma XML qui sert à valider les plans de test peut être téléchargé au moyen de l'URL du serveur de présentation, http://<URL serveur de présentation>/silkroot/xsl/testplan.xsd, ou copié à partir du dossier d'installation du serveur de présentation, <dossier d'installation Silk Central>/wwwroot/silkroot/xsl/testplan.xsd.

Exemple de service Web updateTestPlan

Le code ci-dessous utilise Apache HttpClient pour mettre à jour les tests.

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();

Il n'est possible de télécharger qu'une seule pièce jointe par demande. Pour télécharger Apache HttpComponents, visitez le site http://hc.apache.org/downloads.cgi. Reportez-vous à la documentation du composant pour connaître les bibliothèques requises.

Exemple de test

Le code suivant affiche un exemple de test pouvant être téléchargé dans Silk Central à l'aide des services createTestPlan et updateTestPlan.

<?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>