zurück
Avatar of Yann Spöri
Autor: Yann Spöri
30. November 2021

Excel Dateien testen

Excel-Dateien können in QF-Test über die einen einfachen Prozeduraufruf eingelesen werden, wobei die Prozedur qfs.utils.files.readExcelFile aufgerufen werden muss:

Anschließend erhält man eine Property Variable, die die verschiedenen Werte, welche in der Excel-Datei gespeichert sind, enthält. Der Name der Property Gruppe muss der Prozedur hierbei über den Parameter resultGroupName mitgeteilt werden. Im obigen Beispiel expandiert also ${resultGroup:A1} zu dem Wert welcher in der Excel-Datei in der Zelle A1 steht, ${resultGroup:A2} zu dem Wert, welcher in der Excel-Datei in der Zelle A2 steht usw.

Mithilfe der verschiedenen Prozeduren im check-Package (z.B. checkValueToBeEqual) können die einzelnen Werte anschließend überprüft werden. Gerade bei großen Excel-Dateien kann dies jedoch umständlich sein. In diesem Fall macht es Sinn eine Referenz-Excel-Datei zu erstellen. Anschließend können dann von QF-Test sowohl die Excel-Datei als auch die Referenz-Excel-Datei in unterschiedliche Property Gruppen eingelesen werden. Folgendes Jython Server Skript kann anschließend verwendet werden um die Propertygruppen miteinander zu vergleichen:

p1 = rc.lookup("groupName1")
p2 = rc.lookup("groupName2")
props1 = rc.getProperties(p1)
props2 = rc.getProperties(p2)

errors = []

for p in props1.keys():
    if props2.containsKey(p):
        v1 = props1.get(p)
        v2 = props2.get(p)
        if v1 != v2:
            errors.append("%s has value %s in %s but %s in %s" % (p, v1, p1, v2, p2))
    else:
        errors.append("%s in %s but not in %s" % (p, p1, p2))

for p in props2.keys():
    if not props1.containsKey(p):
        errors.append("%s in %s but not in %s" % (p, p2, p1))

if errors:
    rc.logError("\n".join(errors))
Neuer Kommentar
( wird auf der Seite/Blog erscheinen )
( wird nicht auf der Seite/Blog erscheinen )

0 Kommentare