Zum Inhalt

array Element

Das <array> Element definiert Arrays von Datenelementen, die entweder statisch definiert oder dynamisch mit Hilfe von Skripten generiert werden können. Arrays sind unerlässlich, wenn Du mehrere Elemente desselben Datentyps generieren musst, wie zum Beispiel Listen von Werten, und können mit anderen Elementen wie <list>, <key> und <nestedKey> kombiniert werden, um komplexe Datenstrukturen zu erstellen.

Attribute

  • name: Gibt den Namen des Arrays an. Dies ist obligatorisch und wird der Schlüssel für das Array in der generierten Ausgabe sein.
  • type: Gibt den Datentyp der Elemente im Array an (z.B. string, int, float, bool). Dies ist obligatorisch, es sei denn, ein script wird verwendet, um das Array zu generieren.
  • count: Gibt die Anzahl der zu generierenden Elemente im Array an. Dies ist erforderlich, es sei denn, ein script wird verwendet, um den Inhalt des Arrays dynamisch zu generieren.
  • script: Ein optionales Attribut, das es erlaubt, den Inhalt des Arrays dynamisch mit Python-ähnlichen Ausdrücken zu generieren. Dies kann verwendet werden, um type und count zu überschreiben.

Beispiel 1: Statisches Array von Strings

Dieses Beispiel zeigt, wie ein Array von Strings generiert wird, bei dem die Elemente explizit aufgelistet sind.

1
<array name="fruits" type="string" count="3" script="['Apple', 'Banana', 'Cherry']"/>

In diesem Fall wird das fruits Array drei statische String-Werte enthalten: ['Apple', 'Banana', 'Cherry'].

Beispiel 2: Statisches Array von Ganzzahlen

Hier ist ein Array von Ganzzahlen, das mit den Attributen type und count generiert wird.

1
<array name="numbers" type="int" count="5"/>

Das numbers Array wird fünf Ganzzahlen enthalten, beginnend mit einem Standardwert und sequenziell ansteigend basierend auf der Daten-Generierungslogik innerhalb des Frameworks.

Beispiel 3: Dynamisches Array von zufälligen Ganzzahlen

Du kannst ein Skript verwenden, um ein Array von zufälligen Ganzzahlen zu generieren.

1
<array name="random_numbers" script="[random.randint(1, 100) for _ in range(5)]"/>

Dieses random_numbers Array wird fünf zufällige Ganzzahlen zwischen 1 und 100 enthalten.

Beispiel 4: Dynamisches Array von zufälligen Fließkommazahlen

Ähnlich kannst Du ein Array von Fließkommazahlen mit einem Skript generieren.

1
<array name="random_floats" script="[random.uniform(0.0, 10.0) for _ in range(3)]"/>

Dies wird drei zufällige Fließkommazahlen zwischen 0.0 und 10.0 produzieren.

Beispiel 5: Array von Booleschen Werten

Du kannst ein Array von booleschen Werten erstellen, entweder statisch oder dynamisch.

Statisches Boolesches Array:

1
<array name="boolean_values" type="bool" count="3" script="[True, False, True]"/>

Dynamisches Boolesches Array (mit Zufälligkeit):

1
<array name="random_boolean_values" script="[random.choice([True, False]) for _ in range(4)]"/>

Dies generiert dynamisch vier boolesche Werte, die zufällig zwischen True und False gewählt werden.

Beispiel 6: Array von UUIDs

Das dynamische Generieren eindeutiger Kennungen (UUIDs) kann in Szenarien nützlich sein, die eindeutige Schlüssel erfordern.

1
<array name="uuid_list" script="[uuid.uuid4().hex for _ in range(5)]"/>

Dies wird ein Array von 5 eindeutigen UUIDs generieren.

Beispiel 7: Array von falschen Namen

Indem Du die fake Bibliothek in Skripten verwendest, kannst Du ein Array von zufälligen Namen generieren.

1
<array name="fake_names" script="[fake.name() for _ in range(5)]"/>

Dies wird ein Array von 5 zufälligen Namen erstellen.

Beispiel 8: Verschachtelte Arrays mit Wörterbüchern

Du kannst Arrays in Wörterbüchern verschachteln, indem Du das <nestedKey> Element verwendest, was komplexere Strukturen ermöglicht.

1
2
3
4
<nestedKey name="user_data">
    <array name="user_ids" script="[random.randint(1, 1000) for _ in range(3)]"/>
    <array name="user_roles" script="['admin', 'user', 'guest']"/>
</nestedKey>

In diesem Beispiel wird der Schlüssel user_data zwei Arrays enthalten: user_ids (ein dynamisches Array von zufälligen Ganzzahlen) und user_roles (ein statisches Array von Rollennamen).

Beispiel 9: Arrays mit bedingter Logik

Du kannst Bedingungen innerhalb des Array-Skripts verwenden, um dynamische Werte basierend auf bestimmten Kriterien zu generieren.

1
<array name="conditional_values" script="[i if i % 2 == 0 else 'odd' for i in range(10)]"/>

Dies generiert ein Array, in dem gerade Zahlen als Ganzzahlen aufgenommen werden und ungerade Zahlen durch den String 'odd' ersetzt werden.

Beispiel 10: Arrays innerhalb einer Liste

Du kannst auch Arrays innerhalb von <list> Elementen generieren, um komplexere Daten darzustellen.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<list name="employees">
    <item>
        <key name="name" constant="John Doe"/>
        <array name="skills" script="['Python', 'Java', 'SQL']"/>
    </item>
    <item>
        <key name="name" constant="Jane Doe"/>
        <array name="skills" script="['C++', 'JavaScript', 'HTML']"/>
    </item>
</list>

In diesem Beispiel enthält die Liste employees zwei Elemente, jedes mit einem Array von skills.

Beispiel 11: Arrays von benutzerdefinierten Objekten

Du kannst Arrays generieren, die benutzerdefinierte Objekte oder Wörterbücher enthalten, indem Du dynamische Skripte verwendest.

1
<array name="product_list" script="[{'id': i, 'name': f'Product {i}', 'price': random.uniform(10, 100)} for i in range(5)]"/>

Dies wird ein Array von 5 Produkten generieren, jedes dargestellt als ein Wörterbuch mit id, name und price.

Best Practices für die Verwendung von Arrays

  1. Verwende Skripte für dynamische Inhalte: Wann immer Du Flexibilität bei der Datengenerierung benötigst, verwende das script Attribut, um den Inhalt des Arrays dynamisch zu erstellen.
  2. Typenabgleich: Stelle sicher, dass das Attribut type dem Typ der generierten Daten entspricht, besonders wenn kein Skript verwendet wird. Bei Skripten achte darauf, dass die generierten Daten deinem erwarteten Typ entsprechen.
  3. Kombiniere mit anderen Elementen: Arrays sind mächtig, wenn sie mit <list>, <key> und <nestedKey> Elementen kombiniert werden, um verschachtelte und hierarchische Datenstrukturen zu erstellen.
  4. Nutze externe Bibliotheken: Verwende externe Bibliotheken wie random, uuid und fake, um Variabilität und Komplexität in deine generierten Arrays einzubringen.