Tabelle
Dieses Kapitel beschreibt die Steuerung von Tabellen mit der Tosca TBox. Beispiele für gängige Anwendungsfälle finden Sie am Ende dieses Kapitels. Wie Sie Tabellen mit dem Tabellensteuerungs-Editor bearbeiten finden Sie in Kapitel "Tabellen mit dem Tabellensteuerungs-Editor bearbeiten".
Sie können die folgenden Aktionen verwenden, um Spalten, Zeilen und Zellen in Tabellen zu steuern:
Aktion |
Wert |
Beschreibung |
---|---|---|
<value> |
Wert eingeben |
|
Verify |
<Wert>, <Eigenschaft> |
Wert oder Eigenschaft überprüfen |
Constraint |
<value> |
Suche einschränken |
<Buffername>, <Eigenschaft>-><Buffername> |
Schreibt den Wert einer Zelle, Zeile oder Spalte in den Buffer. |
|
Ausschließen |
{TableCompare} |
Dies schließt Zeilen und Spalten vom Baseline-Vergleich aus. |
Darüber hinaus verwenden Sie die Aktion Select, um die Tabelle auszuwählen.
![]() |
Wird die Aktion Constraint in einer Tabelle verwendet, werden beim Vergleich eines Wertes Leerzeichen, Tabulatoren und Zeilenumbrüche ignoriert. |
![]() |
Für Zellen kann die Aktion Input nur mit dem Wert CLICK verwendet werden. Um einen anderen Input-Wert für Zellen zu verwenden, müssen Sie eingebettete Controls erstellen. |
Neben den allgemeinen Eigenschaften können Sie die folgenden Eigenschaften überprüfen:
Eigenschaft |
Beschreibung |
Verfügbar für |
---|---|---|
ColumnCount |
Anzahl der Spalten der Tabelle. |
tabelle |
RowCount |
Anzahl der Zeilen der Tabelle. |
tabelle |
ColumnNumber |
Index der ausgewählten Spalte; für eine Kopfspalte ist der Wert 0, der Index für die anderen Spalten ist relativ zu dieser Spalte. |
spalte |
RowNumber |
Index der ausgewählten Zeile; für eine Kopfzeile ist der Wert 0, der Index für die anderen Zeilen ist relativ zu dieser Zeile. |
row |
RawColumnNumber |
Index der ausgewählten Spalte; dieser beginnt immer mit 1. |
spalte |
RawRowNumber |
Index der ausgewählten Zeile; dieser beginnt immer mit 1. |
row |
ResultCount |
Verwenden Sie diese Eigenschaft, um die Anzahl der Zellen mit dem angegebenen Inhalt innerhalb einer Zeile oder Spalte zu überprüfen. Beachten Sie Folgendes:
|
Zeile, Spalte |
![]() |
In diesem Beispiel erstellen Sie ein Modul aus der folgenden Tabelle:
Tabellenbeispiel Sie erstellen dann die Eigenschaften des Testschritts Table Properties, um alle Tabelleneigenschaften erfolgreich zu überprüfen.
Überprüfung jeder Tabelleneigenschaft |
Tabellenaufbau
Das Control Tabelle besteht aus den Attributen <Col> für Spalte und <Row> für Zeile. Jede Zeile oder Spalte kann beliebig viele Zellen mit dem Attribut <Cell> beinhalten.
Aufbau einer Tabelle
Die Angaben für Zeilen, Spalten und Zellen müssen über den Namen des jeweiligen Attributs erfolgen. Dadurch wird der Name des Attributs geändert. Werte in einer Zelle werden über die Spalte Wert angegeben. Für die Identifikation einer Zelle gibt es unterschiedliche Möglichkeiten:
Tabellenattribut |
Beschreibung |
---|---|
Baseline |
Zeigt an, dass das Tabellen-Control eine Baseline enthält (siehe Kapitel "Baseline-Vergleich"). |
<Row> |
Mögliche Werte zur Identifikation einer Zeile:
Das Präfix $ steuert eine Zeile in Bezug auf ihre Kopfzeile. Um eine Zeile basierend auf ihrer absoluten Position in einer Tabelle zu steuern, verwenden Sie das Präfix #. |
<Col> |
Mögliche Werte zur Identifikation einer Spalte:
Das Präfix $ steuert eine Spalte in Bezug auf ihre Kopfzeile. Um eine Zeile basierend auf ihrer absoluten Position in einer Tabelle zu steuern, verwenden Sie das Präfix #. |
<Cell> |
Mögliche Werte für die Identifizierung von Zellen, die innerhalb eines Zeilen- oder Spaltenattributs verfügbar sind:
Das Präfix $ steuert eine Zelle in Bezug auf eine Kopfzeile. Um eine Zelle basierend auf ihrer absoluten Position in einer Zeile oder Spalte zu steuern, verwenden Sie das Präfix #. |
![]() |
In diesem Beispiel erstellen Sie ein Modul aus der folgenden Tabelle:
Tabellenbeispiel Sie erstellen dann den Testschritt Table Attributes, um einige der Attribute erfolgreich zu überprüfen.
Überprüfung unterschiedlicher Tabellenattribute |
Kopfzeile definieren
Tabellen-Controls besitzen die Steering-Parameter HeaderColumn und HeaderRow. Diese werden vom Tosca XScan automatisch erkannt und können als technische Informationen in das Modul übernommen werden. Der Wert dieser Eigenschaften definiert, welche Zeile oder Spalte als Kopfzeile gilt. Die Kopfzeile wird über die Angabe des Wertes $header gesteuert.
Tabellen-Control mit Steering-Parameter für Kopfzeilen
Spalten, die sich vor einer definierten Kopfzeile oder Spalte befinden, werden über negative Zeilen- und Spaltennummern gesteuert.
In der folgenden Tabelle sind Beispiele für die Steuerung der jeweiligen Zelle über Zeilen- und Spaltennummern eingetragen.
|
|
|
|
|
|
$-2, $-2 |
|
|
|
|
$-2, $3 |
|
$-1, $-1 |
|
$-1, $1 |
|
|
|
$header, $-1 |
$header |
$header, $1 |
$header, $2 |
|
|
|
|
$1, $1 |
$1, $2 |
|
$2, $-2 |
|
|
|
|
|
|
|
|
|
|
$3, $3 |
![]() |
Dieser Testfall steuert die Tabelle. Es erfolgt ein Klick in die Kopfzeile in Zelle -1.
Steuerung einer Tabelle mit definierter Kopfzeile |
![]() |
Beachten Sie, dass die Befehle FirstEmpty und LastContent nicht bei Spalten oder Zeilen außerhalb der definierten Kopfzeile oder -spalte funktionieren. |
Wertebereich für Zellen definieren
Die Werte der Zellen einer Tabelle werden als Wertebereich des Parameters ExplicitName in das Modul übernommen. Diese Namen können als Eingabewert für die Steuerung über einen Spalten-, Zeilen- oder Zellen-Testschritt-Teilwert aus dem Ausklappmenü ausgewählt werden (siehe "Tabellenattribute").
Für die Definition der Werte können auch dynamische Datums- und Zeitangaben, reguläre Ausdrücke und Zufallswerte verwendet werden.
Wertebereich für Zeilen und Spalten
Controls in einer Zelle definieren
Controls können in die Zelle einer Tabelle eingebettet werden, um die Zelle zu steuern. Ein eingebettetes Control muss keine eindeutige technische Identifikation besitzen, da das Control über die Zelle identifiziert wird. Für die Steuerung eines Controls müssen Sie allerdings ein entsprechendes Modulattribut für den jeweiligen Control-Typ erstellen. Das gilt für die Control-Typen Button, CheckBox, ComboBox, Link, Image, RadioButton, TextBox, Label und SAP TrafficLight. Sie können auch TextBoxen mithilfe von Zellen-Controls steuern.
-
Selektieren Sie im Modul das Zellen-Control eines Zeilen- oder Spalten-Controls.
-
Wählen Sie im Kontextmenü die Option Create Embedded <Control-Type> control.
Eingebettetes Control erstellen
Die Steuerung von Controls in einer Zelle erfolgt wie in den jeweiligen Kapiteln der einzelnen Control-Typen beschrieben.
Controls in einer Zelle
Decisive Column definieren
Einzelne Spalten einer Tabelle können vollständig mit Standarddaten befüllt sein - beispielsweise mit Währungs- oder Datumsangaben. Die Zellen dieser Spalten müssen jedoch keine relevanten Daten enthalten. Eine Spalte, die entscheidende Daten enthält, wird in Tosca als Decisive Column bezeichnet.
Es können jene Zeilen ausgelesen werden, die mit Werten befüllt sind.
Definieren Sie eine oder mehrere entscheidende Spalten über den Parameter DecisiveColumns eines Tabellenattributs. Mehrere Werte werden durch einen Strichpunkt getrennt angegeben (siehe "Beispiel 9 - Steuerung mit decisive columns").
Parameter DecisiveColumns