Mehrere Dateien auf einmal bearbeiten: Unterschied zwischen den Versionen

Aus succestWiki
Wechseln zu: Navigation, Suche
K
K
Zeile 73: Zeile 73:
  
 
[[Category:TCR]][[Category:Verwaltung]]
 
[[Category:TCR]][[Category:Verwaltung]]
 +
<!-- Keywords: MultiEditor Multi Editor -->

Version vom 15. März 2019, 12:23 Uhr

Sie haben eine schöne große Testlandschaft mit succest aufgebaut und müssen nun großflächig Änderungen vornehmen? Sie haben bei einer Aktivität ein Feld hinzugefügt, welches Ihr System Under Test (SUT) braucht und möchten nun, dass bei jeder bestehenden Verwendung ein Wert gesetzt wird? Sie möchten eine Aktivität durch eine andere ersetzen? In allen Testfällen? Oder einfach nur einen Schreibfehler korrigieren? Es gibt viele Möglichkeiten:

  • ein Editor (z. B. Notepad) von Windows (setzt natürlich Zugriff auf das Betriebssystem voraus)
  • der File Explorer vom succest Testcase Repository (TCR)
  • das Modul "Mehrere Komponenten pflegen" im succest Testcase Repository (TCR)

Für genau solche Fälle haben wir das Modul "Mehrere Komponenten pflegen" entworfen. Es ermöglicht alle Dateien eines Typs mit Hilfe von XPath und Suchen und Ersetzen zu bearbeiten. Es werden zur Zeit folgende Arten von Komponenten unterstützt:

Die Benutzung dieses Tools setzt fortgeschrittene Kenntnisse über den Aufbau von succests Dateien, XML, XML Namensräume, XPath und regulären Ausdrücken voraus!

Im ersten Schritt brauchen Sie den XPath zu dem bzw. den gewünschten XML-Knoten, der (optionale) Text, nachdem Sie suchen möchten und der Text, mit dem Sie den Suchtreffer ersetzen möchten (kann auch leer sein, dann wird gelöscht).

Im zweiten Schritt sehen Sie, welche Dateien betroffen sind und bei der finalen Ausführung geändert werden würden. Wenn eine Datei gerade von einem anderen Nutzer in Bearbeitung ist, die Ersetzung zu ungültigem XML führen würde oder andere Fehler auftreten, dann werden diese hier aufgeführt und die Datei steht nicht zur weiteren Bearbeitung zur Auswahl.

Nachdem Sie alle Dateien ausgewählt haben, die mit den aktuellen Einstellungen bearbeitet werden sollen, führen Sie die Ersetzung aus. Die betroffenen Dateien werden vor und nach der Ersetzung im Versionsverwaltungssystem versioniert.

Hinweis zu Namensräumen

In XML gibt es neben spezifischen Namensräumen noch den Standardnamensraum. Dieser gilt für alle untergeordneten Elemente, die keinen anderen Namensraum benutzen. Bei XPath ist es notwendig diese Elemente mit einem Präfix anzusprechend, auch wenn im XML keiner steht.

Die Standardnamensräume können über den Präfix succest1, succest2, usw. angesprochen werden. Nummeriert werden die Standardnamensräume in der Reihenfolge des Auftretens im XML.

Beispiele

Da die Möglichkeiten dieses Tools fast unerschöpflich sind und sich das XML der einzelnen Komponenten unterscheidet, hier ein paar Beispiele anhand einer fiktiven Datei.

<?xml version="1.0" encoding="utf-8"?>
<root xmlns:u="https://www.example.org/users" xmlns:g="https://www.example.org/groups" xmlns="http://succest.de/xml">
  <g:groups>
    <group>
      <name>Manager</name>
    </group>
    <group>
      <name>Tester</name>
    </group>
  </g:groups>
  <u:users>
    <user group="Tester">
      <firstName>Hans</firstName>
      <lastName>Tester</lastName>
    </user>
    <user group="Manager">
      <firstName>Werner</firstName>
      <lastName>Manager</lastName>
    </user>
  </u:users>
  <lastUpdate>2018-03-10T09:00:00</lastUpdate>
</root>
  • Jede Gruppe muss einen Verantwortlichen angeben. Hierfür wird in jede Gruppe ein weiteres Element hinzugefügt.
    • XPath: //succest1:group
    • Suchen: (<name>[^<]*</name>)
    • Ersetzen: $1<responsibility>Administrator</responsibility>
  • Das Datum der letzten Aktualisierung soll gesetzt werden.
    • XPath: /succest1:root/succest1:lastUpdate
    • Suchen: (leer)
    • Ersetzen: 2018-03-19T11:30:00
  • Alle Manager sollen entfernt werden.
    • XPath: //succest1:user[@group='Manager']
    • Suchen: (leer)
    • Ersetzen: (leer)