Qaf: Implementieren von Excel Test Factory

Erstellt am 29. Mai 2018  ·  9Kommentare  ·  Quelle: qmetry/qaf

QAF-Version

Hinweis: Nur die neueste Version wird unterstützt

Schritte zum Reproduzieren

1. Create a xls file under scenario
2.In the config file use the ExcelTestFactory class
3.Execute

Erwartetes Verhalten

Es sollte erfolgreich ausgeführt werden

Tatsächliches Verhalten

jxl.read.biff.BiffException: OLE-Stream kann nicht erkannt werden
bei jxl.read.biff.CompoundFile.(CompoundFile.java:116)
at jxl.read.biff.File.(File.java:127)
bei jxl.Workbook.getWorkbook(Workbook.java:221)
bei jxl.Workbook.getWorkbook(Workbook.java:198)
unter com.qmetry.qaf.automation.step.client.excel.ExcelScenarioFileParser.parseFile(ExcelScenarioFileParser.java:46)
unter com.qmetry.qaf.automation.step.client.excel.ExcelScenarioFileParser.parse(ExcelScenarioFileParser.java:60)
at com.qmetry.qaf.automation.step.client.ScenarioFactory.process(ScenarioFactory.java:110)
at com.qmetry.qaf.automation.step.client.ScenarioFactory.getTestsFromFile(ScenarioFactory.java:82)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Methode)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unbekannte Quelle)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unbekannte Quelle)
at java.lang.reflect.Method.invoke(Unbekannte Quelle)
at org.testng.internal.FactoryMethod.invoke(FactoryMethod.java:90)
bei org.testng.internal.TestNGClassFinder.(TestNGClassFinder.java:150)
bei org.testng.TestRunner.initMethods(TestRunner.java:451)
bei org.testng.TestRunner.init(TestRunner.java:270)
bei org.testng.TestRunner.init(TestRunner.java:240)
bei org.testng.TestRunner.(TestRunner.java:192)
unter org.testng.remote.support.RemoteTestNG6_9_10$1.newTestRunner(RemoteTestNG6_9_10.java:29)
unter org.testng.remote.support.RemoteTestNG6_9_10$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG6_9_10.java:65)
at org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:594)
at org.testng.SuiteRunner.init(SuiteRunner.java:168)
bei org.testng.SuiteRunner.(SuiteRunner.java:117)
bei org.testng.TestNG.createSuiteRunner(TestNG.java:1319)
bei org.testng.TestNG.createSuiteRunners(TestNG.java:1306)
bei org.testng.TestNG.runSuitesLocally(TestNG.java:1160)
bei org.testng.TestNG.run(TestNG.java:1064)
bei org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
bei org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
bei org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

Ist das Problem auf dem Läufer reproduzierbar?

  • [x] Sonnenfinsternis

Testfallbeispiel

Konfigurationsdatei:



</classes>

help wanted kwd-excel

Alle 9 Kommentare

Können Sie bitte den Code der Konfigurationsdatei aktualisieren und die von Ihnen verwendete Excel-Datei bereitstellen?

Konfigurationsdatei:

<test name="Test" enabled="true">
<parameter name="scenario.file.loc" value="./scenarios/Platform_Automation/test.xls"></parameter>
    <classes>
        <class name="com.qmetry.qaf.automation.step.client.excel.ExcelTestFactory" />



    </classes>
</test>

Excel-Tabelle:

Ich kann die Excel-Tabelle nicht anhängen. Aber unten ist der Inhalt der Excel-Tabelle und der Tabellenname ist test.xls.

SZENARIO: Batchprozessor | | | | | |
-- | -- | -- | -- | -- | -- | --
META-DATEN: {"description":"Verify ","groups":[SMOKE","Regression"], "author":"Arun"}
| | | | | | | | |
| Gegebenen Run '${unix.command.ondot-status}' auf 'virtual.machine' | |
| Dann ondot-status für aktive Validierung | | | | |
ENDE | | | | | | | | |

Das von Ihnen definierte Format für Excel ist ein falsches Format.
Unten ist ein funktionierender Test und eine Excel-Datei.

<test name="Test" enabled="true">
    <parameter name="scenario.file.loc" value="./scenarios/test.xls"></parameter>
    <classes>
        <class name="com.qmetry.qaf.automation.step.client.excel.ExcelTestFactory" />
    </classes>
</test>

SZENARIO | SucheProdukt | {"description":"Bestätigen Sie, dass der Benutzer mithilfe des Suchtextfelds nach Produkten suchen kann","groups":["SMOKE"]}
-- | -- | --
LaunchApp | |
searchForProduct | ["Hemd"] |
ENDE | |

Hier sollte die erste Spalte der Schrittname (nicht die Beschreibung) sein und die zweite Spalte ist die Liste der Argumente.
Und Schrittimplementierung ist

@QAFTestStep(description = "I search for product {0}")
public void searchForProduct(String product) {
    //to-do
}

Ich habe das Excel-Format geändert, aber ich erhalte immer noch den gleichen Fehler. Haben wir dafür ein Beispielprojekt?

Szenario | Test | {"description":"Bestätigen Sie, dass der Benutzer mithilfe des Suchtextfelds nach Produkten suchen kann","groups":["SMOKE"]}
-- | -- | --
laufen | ["Hallo"] |
ENDE | |

Außerdem, was soll ich tun, wenn ich mehrere Eingaben übergeben möchte :)

Danke im Voraus :)

Sieht so aus, als ob Ihr Excel nicht im richtigen xls-Format vorliegt.

Danke Amit :) Das war richtig. Ich habe eine beschädigte Datei verwendet :) Vielen Dank.

Außerdem verwende ich eine Eingabe in der Excel-Datei und meine Methode verwendet einen Parameter. Aber die Eingabe, die ich in das Blatt gebe, wird nicht bestanden.

Könnten Sie bitte die Schrittdefinition für das obige Excel-Tabellenblatt teilen, das Sie freigegeben haben? :)

Ich habe die Schrittimplementierung im obigen Kommentar aktualisiert. Darauf kannst du verweisen.

Danke :) Es hat funktioniert :) Ich habe das bdd-Szenario tatsächlich in das Excel-Blatt kopiert :) und es die Daten aus der XML- und Property-Datei gelesen:)

Happy :) Danke für die Hilfe Amit :)

Hallo Amit,

Ich habe dieses Szenario. Ich muss JSONArray oder JsonObject als Eingabe übergeben. Ich verwende ExcelTestFactory.

Unten ist meine Beispieleingabe:

["Knotenname",["a","b","c"]]

Ich möchte, dass die ganze Welt gelesen wird. QAF kann nicht alles als Ganzes lesen, da ich Komma darin habe.

Kannst du mir bitte sagen wie ich das ansprechen kann :)

Vielen Dank im Voraus für die Hilfe.

Außerdem kann ich diese Werte nicht in einer externen Datei speichern, da die Eingabe von einem externen Team kommt.

Mit freundlichen Grüßen,
CK

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

raviguptasmarsh picture raviguptasmarsh  ·  8Kommentare

APrem picture APrem  ·  7Kommentare

Nandesh7 picture Nandesh7  ·  8Kommentare

Rupak-66 picture Rupak-66  ·  12Kommentare

cjayswal picture cjayswal  ·  17Kommentare