Qaf: рдПрдХреНрд╕реЗрд▓ рдЯреЗрд╕реНрдЯ рдлреИрдХреНрдЯреНрд░реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдордИ 2018  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: qmetry/qaf

рдХреНрдпреВрдПрдПрдл рд╕рдВрд╕реНрдХрд░рдг

рдиреЛрдЯ: рдХреЗрд╡рд▓ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕рдорд░реНрдерд┐рдд рд╣реИ

рдкреНрд░рдЬрдирди рдХреЗ рдЪрд░рдг

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

рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░

рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░

jxl.read.biff.BiffException: OLE рд╕реНрдЯреНрд░реАрдо рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде
jxl.read.biff.CompoundFile.(CompoundFile.java:116) рдкрд░
jxl.read.biff.File рдкрд░ (рдлрд╛рдЗрд▓.рдЬрд╛рд╡рд╛:резреирен)
jxl.Workbook.getWorkbook рдкрд░ (рд╡рд░реНрдХрдмреБрдХ.рдЬрд╛рд╡рд╛:реиреирез)
jxl.Workbook.getWorkbook рдкрд░ (рд╡рд░реНрдХрдмреБрдХ.рдЬрд╛рд╡рд╛:198)
com.qmetry.qaf.automation.step.client.excel.ExcelScenarioFileParser.parseFile(ExcelScenarioFileParser.java:46) рдкрд░
com.qmetry.qaf.automation.step.client.excel.ExcelScenarioFileParser.parse(ExcelScenarioFileParser.java:60) рдкрд░
com.qmetry.qaf.automation.step.client.ScenarioFactory.process (рдкрд░рд┐рджреГрд╢реНрдпFactory.java:110) рдкрд░
com.qmetry.qaf.automation.step.client.ScenarioFactory.getTestsFromFile(ScenarioFactory.java:82) рдкрд░
sun.reflect.NativeMethodAccessorImpl.invoke0 (рдореВрд▓ рд╡рд┐рдзрд┐) рдкрд░
sun.reflect.NativeMethodAccessorImpl.invoke (рдЕрдЬреНрдЮрд╛рдд рд╕реНрд░реЛрдд) рдкрд░
sun.reflect.DelegatingMethodAccessorImpl.invoke (рдЕрдЬреНрдЮрд╛рдд рд╕реНрд░реЛрдд) рдкрд░
java.lang.reflect.Method.invoke (рдЕрдЬреНрдЮрд╛рдд рд╕реНрд░реЛрдд) рдкрд░
org.testng.internal.FactoryMethod.invoke (FactoryMethod.java:90) рдкрд░
org.testng.internal.TestNGClassFinder рдкрд░ред (TestNGClassFinder.java:150)
org.testng.TestRunner.initMethods (TestRunner.java:451) рдкрд░
org.testng.TestRunner.init рдкрд░ (TestRunner.java:270)
org.testng.TestRunner.init рдкрд░ (TestRunner.java:240)
org.testng.TestRunner.(TestRunner.java:192) рдкрд░
org.testng.remote.support.RemoteTestNG6_9_10$1.newTestRunner(RemoteTestNG6_9_10.java:29) рдкрд░
org.testng.remote.support.RemoteTestNG6_9_10$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG6_9_10.java:65) рдкрд░
org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:594) рдкрд░
org.testng.SuiteRunner.init рдкрд░ (SuiteRunner.java:168)
org.testng.SuiteRunner рдкрд░ред(SuiteRunner.java:117)
org.testng.TestNG.createSuiteRunner рдкрд░ (TestNG.java:1319)
org.testng.TestNG.createSuiteRunners рдкрд░ (TestNG.java:1306)
org.testng.TestNG.runSuitesLocally рдкрд░ (TestNG.java:1160)
org.testng.TestNG.run рдкрд░ (TestNG.java:1064)
org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114) рдкрд░
org.testng.remote.RemoteTestNG.initAndRun (RemoteTestNG.java:251) рдкрд░
org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77) рдкрд░

рдХреНрдпрд╛ рдпрд╣ рдореБрджреНрджрд╛ рдзрд╛рд╡рдХ рдкрд░ рдкреБрдирд░реБрддреНрдкрд╛рджрд┐рдд рд╣реИ?

  • [рдПрдХреНрд╕] рдЧреНрд░рд╣рдг

рдЯреЗрд╕реНрдЯ рдХреЗрд╕ рдирдореВрдирд╛

рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓:



</classes>

help wanted kwd-excel

рд╕рднреА 9 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓ рдХреЛрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХреНрд╕реЗрд▓ рдлрд╛рдЗрд▓ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓:

<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>

рдПрдХреНрд╕реЗрд▓ рд╢реАрдЯ:

рдореИрдВ рдПрдХреНрд╕реЗрд▓ рд╢реАрдЯ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдБред рд▓реЗрдХрд┐рди рдиреАрдЪреЗ рдПрдХреНрд╕реЗрд▓ рд╢реАрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИ рдФрд░ рд╢реАрдЯ рдХрд╛ рдирд╛рдо test.xls рд╣реИред

рдкрд░рд┐рджреГрд╢реНрдп: рдмреИрдЪрдкреНрд░реЛрд╕реЗрд╕рд░ | | | | | |
-- | -- | -- | -- | -- | -- | --
рдореЗрдЯрд╛-рдбреЗрдЯрд╛: {"рд╡рд┐рд╡рд░рдг": "рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ", "рд╕рдореВрд╣": [рд╕реНрдореЛрдХ", "рд░рд┐рдЧреНрд░реЗрд╢рди"], "рд▓реЗрдЦрдХ": "рдЕрд░реБрдг"}
| | | | | | | | |
| 'рд╡рд░реНрдЪреБрдЕрд▓.рдорд╢реАрди' рдкрд░ '${unix.command.ondot-status}' рдЪрд▓рд╛рдП рдЧрдП | |
| рдлрд┐рд░ рд╕рдХреНрд░рд┐рдп рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП ondot-status | | | | |
рдЕрдВрдд | | | | | | | | |

рдПрдХреНрд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдЖрдкрдиреЗ рдЬреЛ рдкреНрд░рд╛рд░реВрдк рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдЧрд▓рдд рдкреНрд░рд╛рд░реВрдк рд╣реИред
рдиреАрдЪреЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдПрдХреНрд╕реЗрд▓ рдлрд╝рд╛рдЗрд▓ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

<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>

рдкрд░рд┐рджреГрд╢реНрдп | рдЦреЛрдЬ рдЙрддреНрдкрд╛рдж | {"рд╡рд┐рд╡рд░рдг": "рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦреЛрдЬ рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрд╛рдж рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ", "рд╕рдореВрд╣": ["рд╕реНрдореЛрдХ"]}
-- | -- | --
рд▓реЙрдиреНрдЪрдРрдк | |
рд╕рд░реНрдЪрдлреЙрд░рдкреНрд░реЛрдбрдХреНрдЯ | ["рд╢рд░реНрдЯ"] |
рдЕрдВрдд | |

рдпрд╣рд╛рдВ рдкрд╣рд▓рд╛ рдХреЙрд▓рдо рд╕реНрдЯреЗрдкрдирд╛рдо (рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рджреВрд╕рд░рд╛ рдХреЙрд▓рдо рддрд░реНрдХреЛрдВ рдХреА рд╕реВрдЪреА рд╣реИред
рдФрд░ рдЪрд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ

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

рдореИрдВрдиреЗ рдПрдХреНрд╕реЗрд▓ рдкреНрд░рд╛рд░реВрдк рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдореБрдЭреЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдирдореВрдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ?

рдкрд░рд┐рджреГрд╢реНрдп | рдЯреЗрд╕реНрдЯ | {"рд╡рд┐рд╡рд░рдг": "рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦреЛрдЬ рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрд╛рдж рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ", "рд╕рдореВрд╣": ["рд╕реНрдореЛрдХ"]}
-- | -- | --
рднрд╛рдЧреЛ | ["рдирдорд╕реНрдХрд╛рд░"] |
рдЕрдВрдд | |

рд╕рд╛рде рд╣реА, рдЕрдЧрд░ рдореИрдВ рдПрдХрд╛рдзрд┐рдХ рдЗрдирдкреБрдЯ рдкрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП :)

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж :)

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдПрдХреНрд╕реЗрд▓ рдЙрдЪрд┐рдд xls рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж рдЕрдорд┐рдд :) рд╡рд╣ рд╕рд╣реА рдерд╛ред рдореИрдВ рджреВрд╖рд┐рдд рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ :) рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рд╕рд╛рде рд╣реА, рдореИрдВ рдПрдХреНрд╕реЗрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдЗрдирдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдореЗрд░реА рд╡рд┐рдзрд┐ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЬреЛ рдЗрдирдкреБрдЯ рдореИрдВ рд╢реАрдЯ рдореЗрдВ рджреЗ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЭрд╛ рдХреА рдЧрдИ рдЙрдкрд░реЛрдХреНрдд рдПрдХреНрд╕реЗрд▓ рд╢реАрдЯ рдХреЗ рд▓рд┐рдП рдЪрд░рдг рдкрд░рд┐рднрд╛рд╖рд╛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? :)

рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЪрд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рд╣реИред рдЖрдк рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдзрдиреНрдпрд╡рд╛рдж :) рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ :) рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХреНрд╕реЗрд▓ рд╢реАрдЯ рдореЗрдВ рдмреАрдбреАрдбреА рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реВрдВ :) рдФрд░ рдпрд╣ рдПрдХреНрд╕рдПрдордПрд▓ рдФрд░ рд╕рдВрдкрддреНрддрд┐ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рддрд╛ рд╣реИ :)

рд╣реИрдкреНрдкреА :) рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдЕрдорд┐рдд :)

рд╣рд╛рдп рдЕрдорд┐рдд,

рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИред рдореБрдЭреЗ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ JSONArray рдпрд╛ JsonObject рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдПрдХреНрд╕реЗрд▓рдЯреЗрд╕реНрдЯ рдлреИрдХреНрдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдиреАрдЪреЗ рдореЗрд░рд╛ рдирдореВрдирд╛ рдЗрдирдкреБрдЯ рд╣реИ:

["рдиреЛрдбрдирд╛рдо", ["рдП", "рдмреА", "рд╕реА"]]

рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдкрдврд╝реЗред рдХреНрдпреВрдПрдПрдл рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрдврд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ :)

рдорджрдж рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рд┐рдо рдзрдиреНрдпрд╡рд╛рджред

рд╕рд╛рде рд╣реА, рдореИрдВ рдЗрди рдорд╛рдиреЛрдВ рдХреЛ рдмрд╛рд╣рд░реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрдирдкреБрдЯ рдмрд╛рд╣рд░реА рдЯреАрдо рд╕реЗ рдЖ рд░рд╣рд╛ рд╣реИред

рд╕рдВрд╡реЗрджрдирд╛рдкреВрд░реНрдг рд╕рдВрдмрдВрдз,
рд╕реА.рдХреЗ.

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕