Schnittstelle createLibraries

Über die Schnittstelle createLibraries werden neue Bibliotheken erstellt. Die HTTP-Antwort des Aufrufs enthält die XML-Struktur der geänderten Bibliotheken. Sie können die Kennungen der neuen Knoten der aktualisierten XML-Bibliotheksstruktur entnehmen.

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

Schnittstellen-URL Parameter Beschreibung

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

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=createLibraries&sid=<webServiceToken>

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

Beispiel für den Webdienst createLibraries

Im folgenden Quelltext werden die Bibliotheken mithilfe von Apache HttpClient erstellt.

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",
  "createLibraries", webServiceToken));
	
HttpClient client = new HttpClient();
PostMethod filePost = new PostMethod(service.toExternalForm());
String xmlFile = loadTestPlanUtf8("libraries.xml");
StringPart xmlFileItem = new StringPart("libraries", 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 können Sie von http://hc.apache.org/downloads.cgi herunterladen. Die erforderlichen Bibliotheken entnehmen Sie der Dokumentation der Komponente.

Bibliotheken – Beispiel

Der folgende Code zeigt ein Beispiel einer Bibliothek, die mithilfe des Dienstes Silk Central in createLibraries hochgeladen werden kann. Neue Bibliotheken können in beliebigen Projekten verwendet werden, sofern im Abschnitt GrantedProjects keine Projekte angegeben sind.

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

  <Library name="Library 1">
    <Folder name="Folder 1">
      <Folder name="Folder 1.1">
        <SharedSteps name="Basic create user steps">
          <Step name="Login">
            <ActionDescription>
              Login with user admin.
            </ActionDescription>
            <ExpectedResult>Succesful login.</ExpectedResult>
            <CustomStepProperty name="Step Property 1">
                        <propertyValue>Step Property Value</propertyValue>
            </CustomStepProperty>
          </Step>
          <Step name="Create User">
            <ActionDescription>Create user tester</ActionDescription>
            <ExpectedResult>User created</ExpectedResult>
            <CustomStepProperty name="Step Property 1">
                        <propertyValue>Step Property Value</propertyValue>
            </CustomStepProperty>
          </Step>
          <Step name="Logout">
            <ActionDescription>
              Logout using start menu
            </ActionDescription>
            <ExpectedResult>Logged out.</ExpectedResult>
            <CustomStepProperty name="Step Property 1">
                        <propertyValue>Step Property Value</propertyValue>
            </CustomStepProperty>
          </Step>
        </SharedSteps>
      </Folder>
    </Folder>
    <GrantedProjects>
      <ProjectId>0</ProjectId>
      <ProjectId>1</ProjectId>
    </GrantedProjects>
  </Library>
</LibraryStructure>