Erzeugungsvorlage

Aus succestWiki
Wechseln zu: Navigation, Suche

Erzeugungsvorlagen steuern den Inhalt, der zu einer Aktivität gehört und den Kanal über den der Inhalt in das System Under Test (SUT) gelangt. Sie können im succest Testcase Repository (TCR) verwaltet und im succest Testcase Editor (TCE) den verfügbaren Aktivitäten zugeordnet werden.

Verwaltung

Die Erzeugungsvorlagen werden wie Ergebnisvorlagen im TCR verwaltet werden. Folgende Aktionen können Sie dort im Kontextmenü ausführen:

  • Zulässige Aktivitäten oder "Alle Aktivitäten" auswählen
  • Das Ladeobjekt einstellen
  • Vorlagenfelder verwalten
    • Die Felder können in Gruppen eingeteilt werden
    • Die Reihenfolge der Felder kann durch Drag&Drop verändert werden
    • Die Felder in eine andere Erzeugungsvorlagen kopieren
    • Der Name darf nur die folgenden Zeichen beinhalten: a-z, A-Z, 0-9 und den Unterstrich. Er darf nicht mit einer Zahl anfangen.
  • Records verwalten
    • Daten für die Records aus einer XSD laden
    • Zeilen verwalten
      • Die Reihenfolge der Zeilen kann durch Drag&Drop verändert werden
      • Felder der Zeilen verwalten
        • Die Reihenfolge der Felder kann durch Drag&Drop verändert werden
    • Zeilen können kopiert werden, enthaltene Felder werden mit dupliziert
    • Zeilen können auch in andere Erzeugungsvorlagen kopiert werden
  • Finale Erzeugungsvorlage anschauen und direkt das XML bearbeiten

Damit die Änderungen bzw. die neuen Erzeugungsvorlagen im TCE sichtbar werden, muss das TCE aktualisiert werden.

Einstellungen

  • Allgemeines
    • Ähnlich wie bei den Ergebnisvorlagen kann über diesen Tab die Beschreibung und die Aktivitäten festgelegt werden, für die diese Vorlage gültig sein soll.
    • Soll die Vorlage für alle Aktivitäten gültig sein, so kann der Eintrag "Alle Aktivitäten" ausgewählt werden.
    • Zusätzlich besitzt die Erzeugungsvorlage noch ein Ladeobjekt.
  • Vorlagenfelder (siehe Abbildung 3)
    • Genauso wie bei den Ergebnisvorlagen können hier Vorlagenfelder generiert werden, welche später im succest Testcase Editor (TCE), beim Auswählen der Vorlage, erscheinen.
    • Über das Feld "Standard Wert" kann dem jeweiligen Feld ein Standard Wert hinterlegt werden, der das Feld im TCE mit dem hinterlegten Wert ausfüllt.
  • Records (siehe Abbildung 4 & Abbildung 5)
    In diesem Abschnitt werden die Zeilen und deren Felder festgelegt, welche dann zum SUT übertragen werden sollen.
  • Vorschau (siehe Abbildung 6)
    Die Vorschau zeigt die Vorlage im XML-Format und kann hier auch direkt bearbeitet werden.

Ausführungsdatum einer Aktivität als Variable einbinden

Bei allen Aktivitäten, bei denen der Testfall-Autor eine Erzeugungsvorlage auswählen muss, muss auch das Feld "Ausführen zum" ausgefüllt werden. Das dort eingetragene Datum kann man direkt in einer Erzeugungsvorlage verwenden. Hierzu muss bei einem Feld als Typ "Variable aus Aktivität" und dann die Variable "BaseAddToDate (DateTime)" ausgewählt werden, siehe Abbildung 5. Das Datum kann nun beliebig formatiert werden und wird dann genau so in die Ladedatei übernommen.

Beispiele für Erzeugungsvorlagen

EBCDIC

Mit succest können Sie EBCDIC-Dateien erstellen lassen.

<root>
  <textTemplateType>GenerationTemplate</textTemplateType>
  <availableInActivities>
    <activity>EBCDIC.Ebcdic</activity>
  </availableInActivities>
  <loadingObject>EBCDIC</loadingObject>
  <code>new Succest.EbcdicCollection().Add(data1).Add(data2)</code>
  <id>66242d46-d56a-4cde-9034-ea58aa8d5466</id>
  <version>1</version>
</root>
Element Beschreibung
code Die Vorlage benutzt die Klasse EbcdicCollection. Jeder Aufruf der Klasse erzeugt eine Zeile in der EBCDIC-Datei. Wobei eine Zeile durch ihre Längenangabe am Anfang definiert wird, nicht durch einen Zeilenumbruch. Sie können die Methode Add beliebig oft aufrufen, sie fügt weitere Inhalte zu einer Zeile hinzu. Die im Beispiel verwendeten Variablen data1 und data2 sind Variablen aus der Erzeugungsvorlage oder der Aktivität.

SAP FMC Loader

Dateien, die mit dem SAP FMC Loader verarbeitet werden sollen, müssen ihre Daten in sogenannten Records vorhalten. Ein Record entspricht einer Struktur in SAP, die enthaltenen Felder sind der Reihe nach aufgeführt.

<?xml version="1.0" encoding="utf-8"?>
<root>
  <textTemplateType>GenerationTemplate</textTemplateType>

  <availableInActivities>
    <activity>BuPa_Activities.CreateBusinessPartner</activity>
  </availableInActivities>

  <loadingObject>BUPA</loadingObject>

  <fields>
    <field group="Zusatzangaben" name="BankLand" prompt="Land der Bank:" type="System.String" />
    <field group="Zusatzangaben" name="BLZ" prompt="Bankleitzahl:" type="System.String" />
    <field group="Zusatzangaben" name="KtNr" prompt="Kontonummer:" type="System.String" />
    <field group="Zusatzangaben" name="IBAN" prompt="IBAN:" type="System.String" />
  </fields>

  <recs>
    <rec>01B{$RecordIndex:00000000}{$TestCaseId:N}{$Id:N}I{$BuPaId:10}</rec>
    <rec>02C{$RecordIndex:00000000}{$TestCaseId:N}{$Id:N}10004{$Name2:-20}Succest                               0002                                                 </rec>
    <rec>03C{$RecordIndex:00000000}{$TestCaseId:N}{$Id:N}{$Name1:-40}{$Name2:-40}                                                                                                                                                                                                     2Frankfurt/Main                          19700101            1D                                                                                                                          DE</rec>
    <rec>06C{$RecordIndex:00000000}{$TestCaseId:N}{$Id:N}IBKK010                    BKK01019000101  99991231  </rec>
    <rec>06C{$RecordIndex:00000000}{$TestCaseId:N}{$Id:N}IBKK020                    BKK02019000101  99991231  </rec>
    <rec>06C{$RecordIndex:00000000}{$TestCaseId:N}{$Id:N}IBKK030                    BKK03019000101  99991231  </rec>
    <rec>06C{$RecordIndex:00000000}{$TestCaseId:N}{$Id:N}ITR0100                    TR010019000101  99991231  </rec>
    <rec>07C{$RecordIndex:00000000}{$TestCaseId:N}{$Id:N}IX                                        Eschborn                                                                                65760                                                                                                                  Hauptstrasse                                              95                                                                                                                                                                                                                                        DE  </rec>
    <rec>08C{$RecordIndex:00000000}{$TestCaseId:N}{$Id:N}I0001{$BankLand:2} {$BankLand:2}{$BLZ:-15}{$KtNr:-18}                      Succest                                                                                                                  {$IBAN:-34}                                           </rec>
    <rec>30C{$RecordIndex:00000000}{$TestCaseId:N}{$Id:N}02{$BuPaId:10}TR010019000101  30A10000</rec>
  </recs>
  <id>662acf46-d56a-4cde-9034-ea58f98d5466</id>
</root>

UFT

Wenn Sie aus succest heraus einen UFT-Testfall ausführen möchten, muss Ihre Vorlage in etwa so aussehen.

<root>
  <version>1</version>
  <textTemplateType>GenerationTemplate</textTemplateType>
  <id>bafb6440-9971-4af0-88c4-c9cf3cb0ab81</id>
  <recs>
    <rec>
      <UftTestCase>
        <Id>01B{$RecordIndex:00000000}{$TestCaseId:N}{$Id:N}</Id>
        <Name>[QC-TEST];;Subject\SUCCEST\GUITest_PH;;</Name>
		<InParams>
		  <InParam UftName="Wert1">{$Wert1}</InParam>
		  <InParam UftName="Wert2">{$Wert2}</InParam>
		</InParams>
		<OutParams>
		  <OutParam UftName="Ergebnis">42</OutParam>
		</OutParams>
      </UftTestCase>
    </rec>
  </recs>
  <loadingObject>UFT</loadingObject>
  <availableInActivities>
    <activity>Biblio.UFT</activity>
  </availableInActivities>
</root>
Element Beschreibung
UftTestCase Definition eines UFT-Testfalls, der aufgerufen werden soll.
Id
Wird benötigt um das Ergebnis der richtigen Aktivität zuordnen zu können.
Name
Der Pfad zum UFT-Testfall. Entweder ein absoluter Dateisystempfad zum auszuführenden Testfall oder der Pfad in Micro Focus ALM wo der Testfall abgelegt wurde.
InParams
Liste von Parametern, die an den UFT-Testfall übergeben werden sollen.
InParam
Ein Parameter, der an den UFT-Testfall übergeben werden soll.
OutParams
Liste von Parametern, die das Ergebnis eines Testlaufs überprüfen sollen.
OutParam
Ein Parameter, den der UFT-Testfall bereitstellt, in dem das zu überprüfende Ergebnis abgefragt werden soll.

Web API

Um eine Web API (z. B. REST, SOAP) zu testen, muss die Vorlage einige Informationen zum Aufruf haben.

<?xml version="1.0" encoding="utf-8"?>
<root>
  <version>1</version>
  <textTemplateType>GenerationTemplate</textTemplateType>
  <id>1d073452-0acb-46a2-9f98-98b9d3f53a3a</id>
  <recs>
    <rec>
      <stepId>01B{$RecordIndex:00000000}{$TestCaseId:N}{$Id:N}</stepId>
      <uri>posts</uri>
      <method>POST</method>
      <contentType>json</contentType>
      <body>
      {
          "Name": "{$name}",
          "Firma": "FMC Feindt Management Consulting GmbH",
          "NullAcht": 15
      }
      </body>
      <headers>
        <header>
          <name>accept-encoding</name>
          <value>gzip</value>
        </header>
      </headers>
    </rec>
  </recs>
  <loadingObject>WEBAPI</loadingObject>
  <availableInActivities>
    <activity>WebApi.CreatePost</activity>
  </availableInActivities>
</root>
Element Beschreibung
stepId Wird benötigt um das Ergebnis der richtigen Aktivität zuordnen zu können.
uri Der Pfad der zu testenden Resource.
method Eine gültige HTTP Methode. Folgende Werte werden unterstützt: COPY, DELETE, GET, HEAD, MERGE, OPTIONS, PATCH, POST, PUT
contentType Gibt das Format des Inhalts (siehe "body") an. Unterstützt werden: json und xml
body Optional: Der zu sendende Inhalt. Nicht jede HTTP Methode unterstützt und nicht jede Anfrage braucht einen body. Wenn Sie HTML verschicken möchten, klammern Sie es bitte mit CDATA.
headers Optional: Definieren Sie HTTP Header, die bei der Anfrage mitgeschickt werden sollen. Der Header content-type wird anhand des contentType automatisch gesetzt.
header
Ein Hedaer-Element, bestehend aus dem name und dem value.
name
Der Name des Headers, z. B. accept-encoding
value
Der Wert des Headers, z. B. gzip
authentication Optional: Definiert die Art der Authentifizierung. Sie ist inhaltlich gleich zu der aus der Loader-Konfiguration. Wenn gesetzt, wird die Authentifizierung der Erzeugungsvorlage genutzt, sonst die vom Loader.