Qaf: μ—‘μ…€ ν…ŒμŠ€νŠΈ νŒ©ν† λ¦¬ κ΅¬ν˜„

에 λ§Œλ“  2018λ…„ 05μ›” 29일  Β·  9μ½”λ©˜νŠΈ  Β·  좜처: qmetry/qaf

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μ—μ„œ.(File.java:127)
jxl.Workbook.getWorkbook(Workbook.java:221)μ—μ„œ
jxl.Workbook.getWorkbookμ—μ„œ(Workbook.java: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(ScenarioFactory.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)

λŸ¬λ„ˆμ—μ„œ 문제λ₯Ό μž¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

  • [x] 이클립슀

ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€ μƒ˜ν”Œ

ꡬ성 파일:



</classes>

help wanted kwd-excel

λͺ¨λ“  9 λŒ“κΈ€

ꡬ성 파일 μ½”λ“œλ₯Ό μ—…λ°μ΄νŠΈν•˜κ³  μ‚¬μš© 쀑인 Excel νŒŒμΌμ„ μ œκ³΅ν•΄ μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ?

ꡬ성 파일:

<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μž…λ‹ˆλ‹€.

μ‹œλ‚˜λ¦¬μ˜€: 일괄 처리기 | | | | | |
-- | -- | -- | -- | -- | -- | --
메타 데이터: {"description":"Verify ","groups":[SMOKE","Regression"], "author":"Arun"}
| | | | | | | | |
| 'virtual.machine'μ—μ„œ '${unix.command.ondot-status}' μ‹€ν–‰ | |
| 그런 λ‹€μŒ ν™œμ„± μœ νš¨μ„± 검사에 λŒ€ν•œ ondot-status | | | | |
끝 | | | | | | | | |

Excel에 λŒ€ν•΄ μ •μ˜ν•œ ν˜•μ‹μ΄ 잘λͺ»λœ ν˜•μ‹μž…λ‹ˆλ‹€.
μ•„λž˜λŠ” μž‘μ—… ν…ŒμŠ€νŠΈ 및 μ—‘μ…€ νŒŒμΌμž…λ‹ˆλ‹€.

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

μ‹œλ‚˜λ¦¬μ˜€ | κ²€μƒ‰μ œν’ˆ | {"description":"μ‚¬μš©μžκ°€ 검색 ν…μŠ€νŠΈ μƒμžλ₯Ό μ‚¬μš©ν•˜μ—¬ μ œν’ˆμ„ 검색할 수 μžˆλŠ”μ§€ 확인","groups":["SMOKE"]}
-- | -- | --
λŸ°μΉ˜μ•± | |
searchForμ œν’ˆ | ["μ…”μΈ "] |
끝 | |

μ—¬κΈ°μ„œ 첫 번째 열은 μ„€λͺ…이 μ•„λ‹Œ 단계 이름이어야 ν•˜κ³  두 번째 열은 인수 λͺ©λ‘μž…λ‹ˆλ‹€.
그리고 단계 κ΅¬ν˜„μ€

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

Excel ν˜•μ‹μ„ λ³€κ²½ν–ˆμ§€λ§Œ μ—¬μ „νžˆ λ™μΌν•œ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. 이에 λŒ€ν•œ μƒ˜ν”Œ ν”„λ‘œμ νŠΈκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

μ‹œλ‚˜λ¦¬μ˜€ | ν…ŒμŠ€νŠΈ | {"description":"μ‚¬μš©μžκ°€ 검색 ν…μŠ€νŠΈ μƒμžλ₯Ό μ‚¬μš©ν•˜μ—¬ μ œν’ˆμ„ 검색할 수 μžˆλŠ”μ§€ 확인","groups":["SMOKE"]}
-- | -- | --
μ‹€ν–‰ | ["μ•ˆλ…•ν•˜μ„Έμš”"] |
끝 | |

λ˜ν•œ μ—¬λŸ¬ μž…λ ₯을 μ „λ‹¬ν•˜λ €λ©΄ μ–΄λ–»κ²Œν•΄μ•Όν•©λ‹ˆκΉŒ? :)

미리 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€ :)

Excel이 μ˜¬λ°”λ₯Έ xls ν˜•μ‹μ΄ μ•„λ‹Œ 것 κ°™μŠ΅λ‹ˆλ‹€.

κ°μ‚¬ν•©λ‹ˆλ‹€ Amit :) λ§žμŠ΅λ‹ˆλ‹€. μ†μƒλœ νŒŒμΌμ„ μ‚¬μš©ν•˜κ³  μžˆμ—ˆμŠ΅λ‹ˆλ‹€ :) κ°μ‚¬ν•©λ‹ˆλ‹€.

λ˜ν•œ Excel νŒŒμΌμ—μ„œ ν•˜λ‚˜μ˜ μž…λ ₯을 μ‚¬μš©ν•˜κ³  λ‚΄ 방법은 ν•˜λ‚˜μ˜ 맀개 λ³€μˆ˜λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ‹œνŠΈμ— μž…λ ₯ν•œ λ‚΄μš©μ΄ μ „λ‹¬λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

κ³΅μœ ν•˜μ‹  μœ„μ˜ Excel μ‹œνŠΈμ— λŒ€ν•œ 단계 μ •μ˜λ₯Ό κ³΅μœ ν•΄ μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ? :)

μœ„μ˜ μ˜κ²¬μ—μ„œ 단계 κ΅¬ν˜„μ„ μ—…λ°μ΄νŠΈν–ˆμŠ΅λ‹ˆλ‹€. μ°Έκ³ ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

κ°μ‚¬ν•©λ‹ˆλ‹€ :) νš¨κ³Όκ°€ μžˆμ—ˆμ–΄μš” :) μ‹€μ œλ‘œ bdd μ‹œλ‚˜λ¦¬μ˜€λ₯Ό μ—‘μ…€ μ‹œνŠΈμ— λ³΅μ‚¬ν•΄μ„œ λΆ™μ—¬λ„£μ—ˆμ–΄μš” :) 그리고 xmlκ³Ό 속성 νŒŒμΌμ—μ„œ 데이터λ₯Ό μ½μ—ˆμ–΄μš” :)

Happy :) 도움을 μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. Amit :)

μ•ˆλ…•ν•˜μ„Έμš” μ•„λ―ΈνŠΈλ‹˜

이 μ‹œλ‚˜λ¦¬μ˜€κ°€ μžˆμŠ΅λ‹ˆλ‹€. JSONArray λ˜λŠ” JsonObjectλ₯Ό μž…λ ₯으둜 전달해야 ν•©λ‹ˆλ‹€. ExcelTestFactoryλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ•„λž˜λŠ” λ‚΄ μƒ˜ν”Œ μž…λ ₯μž…λ‹ˆλ‹€.

["λ…Έλ“œ 이름",["a","b","c"]]

λ‚˜λŠ” 온 세상이 읽히기λ₯Ό μ›ν•©λ‹ˆλ‹€. QAFλŠ” μ‰Όν‘œκ°€ 있기 λ•Œλ¬Έμ— 전체λ₯Ό 읽을 수 μ—†μŠ΅λ‹ˆλ‹€.

이 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλŠ” 방법을 μ•Œλ €μ£Όμ„Έμš” :)

도움을 μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.

λ˜ν•œ μ™ΈλΆ€ νŒ€μ—μ„œ μž…λ ₯을 λ°›κΈ° λ•Œλ¬Έμ— μ΄λŸ¬ν•œ 값을 μ™ΈλΆ€ νŒŒμΌμ— μ €μž₯ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

κ°μ‚¬ν•©λ‹ˆλ‹€.
NS

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰