Qaf: μ—‘μ…€ xlsx 파일 지원

에 λ§Œλ“  2016λ…„ 09μ›” 09일  Β·  17μ½”λ©˜νŠΈ  Β·  좜처: qmetry/qaf

p1 feature data-driven

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

이 κΈ°λŠ₯은 ν˜„μž¬ μš°μ„  μˆœμœ„κ°€ μ•„λ‹™λ‹ˆλ‹€. κΈ°λŠ₯이 μžˆμ–΄μ•Ό ν•˜λŠ”μ§€ μ•Œλ €μ£Όμ„Έμš”.

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

μ•ˆλ…•ν•˜μ„Έμš” @cjayswal 이미 qafμ—μ„œ xlsx에 λŒ€ν•œ 지원을 μΆ”κ°€ν–ˆμŠ΅λ‹ˆκΉŒ?

이 κΈ°λŠ₯은 ν˜„μž¬ μš°μ„  μˆœμœ„κ°€ μ•„λ‹™λ‹ˆλ‹€. κΈ°λŠ₯이 μžˆμ–΄μ•Ό ν•˜λŠ”μ§€ μ•Œλ €μ£Όμ„Έμš”.

μ•ˆλ…•ν•˜μ„Έμš” @cjayswal 제 κ²½μš°μ—λŠ” λΉ„μ¦ˆλ‹ˆμŠ€μ—μ„œ 직접 XLSX νŒŒμΌμ„ λ°›μŠ΅λ‹ˆλ‹€. XLSX μ‹œνŠΈμ—μ„œ 데이터λ₯Ό μ„ νƒν•˜κ³  μžλ™ν™”λ₯Ό μˆ˜ν–‰ν•΄μ•Ό ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ XLSXλŠ” μ§€μ›λ˜μ§€ μ•ŠμœΌλ―€λ‘œ Excel ν˜•μ‹μ„ XLS둜 λ³€κ²½ν•΄μ•Ό ν•©λ‹ˆλ‹€. XLSX도 μ§€μ›ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. λ˜λŠ” ν˜„μž¬λ‘œμ„œλŠ” XLSX의 μ‚¬μš©μž μ •μ˜ κ΅¬ν˜„μ„ λ§Œλ“€ 수 μžˆλŠ” 방법이 μžˆμŠ΅λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” λ£¨νŒμž…λ‹ˆλ‹€.

예, 데이터 κ³΅κΈ‰μžμ— λŒ€ν•œ μ‚¬μš©μž μ •μ˜ κ΅¬ν˜„μ„ λ§Œλ“œλŠ” 방법이 μžˆμŠ΅λ‹ˆλ‹€.

λ‹€μŒμ€ https://github.com/qmetry/qaf/issues/82에 제곡된 μ˜ˆμž…λ‹ˆλ‹€.

이 λ¬Έμ œμ— μ–΄λ–»κ²Œ μ°¬μ„±ν•©λ‹ˆκΉŒ?

이λͺ¨ν‹°μ½˜μ„ ν΄λ¦­ν•˜κ³  μ’‹μ•„μš”λ₯Ό 눌러 λŒ“κΈ€μ„ 달 수 μžˆμŠ΅λ‹ˆλ‹€.

xlsxλ₯Ό μ§€μ›ν•˜λŠ” 이 κΈ°λŠ₯에 λŒ€ν•΄ +1

이것은 ν—ˆμš©λ˜λŠ” μ΅œλŒ€ 256개 μ—΄μ˜ xls ν˜•μ‹ μ œν•œ λ•Œλ¬Έμ— ν•„μˆ˜ κΈ°λŠ₯μž…λ‹ˆλ‹€. 256개 μ΄μƒμ˜ 데이터 열이 ν•„μš”ν•œ κ²½μš°κ°€ 있으며 이λ₯Ό μœ„ν•΄ xlsx ν˜•μ‹μ΄ ν•„μš”ν•©λ‹ˆλ‹€.

이에 λŒ€ν•΄ λ‹€μ‹œ ν•œ 번 μ°¬μ„±ν•©λ‹ˆλ‹€. μš°λ¦¬λŠ” 데이터 μ†ŒμŠ€λ‘œ Excel 파일과 ν•¨κ»˜ qmetryλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.
문제 μ„€λͺ… : ν…ŒμŠ€ν„°/BAκ°€ ν˜‘λ ₯ν•˜κ³  ν…ŒμŠ€νŠΈ 데이터λ₯Ό μΆ”κ°€ν•  수 μžˆλ„λ‘ 데이터 μ‹œνŠΈλ₯Ό 곡유 μ§€μ μœΌλ‘œ μœ μ§€ν•©λ‹ˆλ‹€.
데이터에 λŒ€ν•œ xlsx ν˜•μ‹ 지원을 μœ„ν•œ λΆ€κ°€ κ°€μΉ˜:

  1. 곡동 μž‘μ—…μ„ μœ„ν•΄ 곡유 μ§€μ μ—μ„œλŠ” xlsx ν˜•μ‹λ§Œ ν—ˆμš©λ©λ‹ˆλ‹€.
  2. 우리 ν”„λ ˆμž„μ›Œν¬κ°€ μ§€μ›ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 이유둜 BA 및 기타 ν”„λ‘œμ νŠΈ 이해 κ΄€κ³„μžμ—κ²Œ 이전(xls) ν˜•μ‹μ„ μ‚¬μš©ν•˜λ„λ‘ μš”μ²­ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
  3. xlsxλŠ” 이전 ν˜•μ‹λ³΄λ‹€ 훨씬 κ°€λ³μŠ΅λ‹ˆλ‹€ --> 데이터 μ†ŒμŠ€λ‘œ μ—¬λŸ¬ 파일이 μžˆλŠ” λŒ€κ·œλͺ¨ ν…ŒμŠ€νŠΈ μŠ€μœ„νŠΈλ₯Ό κ°€μ§ˆ λ•Œ 맀우 μ€‘μš”ν•©λ‹ˆλ‹€.

이 κΈ°λŠ₯에 λŒ€ν•œ 지원을 μ°¬μ„±ν•©λ‹ˆλ‹€. λ‚΄ ν˜„μž¬ ν”„λ‘œμ νŠΈμ—μ„œ 이 XLS 파일의 256μ—΄ μ œν•œμ— λΆ€λ”ͺμ³€μŠ΅λ‹ˆλ‹€. λ°©λŒ€ν•œ ν…ŒμŠ€νŠΈ 데이터λ₯Ό μ‚¬μš©ν•œ 쒅단 κ°„ ν…ŒμŠ€νŠΈμž…λ‹ˆλ‹€. 이 지원이 곧 κ΅¬ν˜„λ˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

μ’…λ£Œν•΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€ @cjayswal . μˆ˜μ • 사항을 ν˜„μž¬ 3.0.0 λ²„μ „μ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆκΉŒ, μ•„λ‹ˆλ©΄ μƒˆ λ²„μ „μ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

이 κΈ°λŠ₯은 λ‹€μŒ λ¦΄λ¦¬μŠ€μ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ’…λ£Œν•΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€ @cjayswal . μˆ˜μ • 사항을 ν˜„μž¬ 3.0.0 λ²„μ „μ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆκΉŒ, μ•„λ‹ˆλ©΄ μƒˆ λ²„μ „μ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

μ•ˆλ…•ν•˜μ„Έμš”! λ‹€μŒ 릴리슀λ₯Ό κΈ°λ‹€λ¦¬λŠ” λ™μ•ˆ ν”„λ‘œμ νŠΈμ— ν•„μš”ν•œ ν΄λž˜μŠ€μ™€ 쒅속성을 μˆ˜λ™μœΌλ‘œ μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  1. com.qmetry.qaf.automation.testng.dataprovider νŒ¨ν‚€μ§€μ— QAFInetrceptableDataProvider.java 클래슀 _(이 클래슀 μ΄λ¦„μ˜ μ² μžκ°€ ν‹€λ¦°κ°€μš”?)_ μΆ”κ°€
  2. νŒ¨ν‚€μ§€ com.qmetry.qaf.automation.util에 PoiExcelUtil.java 클래슀λ₯Ό μΆ”κ°€
  3. λ‹€μŒ 쒅속성을 μΆ”κ°€ν•©λ‹ˆλ‹€.

    • μ•„νŒŒμΉ˜ 포이 v4.1.2

    • μ•„νŒŒμΉ˜ poi-ooxml v4.1.2

    • μ•„νŒŒμΉ˜ 포이 컀먼즈-μ»¬λ ‰μ…˜4 v4.4

ν˜„μž¬ ν”„λ‘œμ νŠΈμ—μ„œ μž‘λ™ν•˜λ„λ‘ λ§Œλ“€μ—ˆμœΌλ©° XLSX νŒŒμΌμ„ μ—…λ°μ΄νŠΈν•˜κ³  ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•  λ•Œ _"λ ˆμ΄λΈ” [tableName] for end data range not found in sheet [sheetName]"_ 였λ₯˜κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν•΄λ‹Ή 였λ₯˜λ₯Ό μˆ˜μ •ν•˜κΈ° μœ„ν•΄ XLSX 데이터 파일 의 데이터 ν…Œμ΄λΈ” μ•žμ— 열을 μ‚½μž…/μ‚­μ œν•˜κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€ .

도움이 λ˜μ—ˆκΈ°λ₯Ό λ°”λžλ‹ˆλ‹€!

이 문제λ₯Ό μ’…κ²°ν•΄ μ£Όμ‹  @cjayswal 및 @amitbhoraniya μ—κ²Œ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

@darkzcythe κ°μ‚¬ν•©λ‹ˆλ‹€. 이 κΈ°λŠ₯을 μ‚¬μš©ν•˜κΈ° μ‹œμž‘ν•˜λ©΄μ„œ 문제λ₯Ό λ°œκ²¬ν•˜λ©΄ μ•Œλ €μ£Όμ‹­μ‹œμ˜€. λ”°λΌμ„œ λ‹€μŒ 릴리슀 전에 μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ’…λ£Œν•΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€ @cjayswal . μˆ˜μ • 사항을 ν˜„μž¬ 3.0.0 λ²„μ „μ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆκΉŒ, μ•„λ‹ˆλ©΄ μƒˆ λ²„μ „μ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

μ•ˆλ…•ν•˜μ„Έμš”! λ‹€μŒ 릴리슀λ₯Ό κΈ°λ‹€λ¦¬λŠ” λ™μ•ˆ ν”„λ‘œμ νŠΈμ— ν•„μš”ν•œ ν΄λž˜μŠ€μ™€ 쒅속성을 μˆ˜λ™μœΌλ‘œ μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  1. com.qmetry.qaf.automation.testng.dataprovider νŒ¨ν‚€μ§€μ— QAFInetrceptableDataProvider.java 클래슀 _(이 클래슀 μ΄λ¦„μ˜ μ² μžκ°€ ν‹€λ¦°κ°€μš”?)_ μΆ”κ°€
  2. νŒ¨ν‚€μ§€ com.qmetry.qaf.automation.util에 PoiExcelUtil.java 클래슀λ₯Ό μΆ”κ°€
  3. λ‹€μŒ 쒅속성을 μΆ”κ°€ν•©λ‹ˆλ‹€.
  • μ•„νŒŒμΉ˜ 포이 v4.1.2
  • μ•„νŒŒμΉ˜ poi-ooxml v4.1.2
  • μ•„νŒŒμΉ˜ 포이 컀먼즈-μ»¬λ ‰μ…˜4 v4.4

ν˜„μž¬ ν”„λ‘œμ νŠΈμ—μ„œ μž‘λ™ν•˜λ„λ‘ λ§Œλ“€μ—ˆμœΌλ©° XLSX νŒŒμΌμ„ μ—…λ°μ΄νŠΈν•˜κ³  ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•  λ•Œ _"λ ˆμ΄λΈ” [tableName] for end data range not found in sheet [sheetName]"_ 였λ₯˜κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν•΄λ‹Ή 였λ₯˜λ₯Ό μˆ˜μ •ν•˜κΈ° μœ„ν•΄ XLSX 데이터 파일 의 데이터 ν…Œμ΄λΈ” μ•žμ— 열을 μ‚½μž…/μ‚­μ œν•˜κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€ .

도움이 λ˜μ—ˆκΈ°λ₯Ό λ°”λžλ‹ˆλ‹€!

이 문제λ₯Ό μ’…κ²°ν•΄ μ£Όμ‹  @cjayswal 및 @amitbhoraniya μ—κ²Œ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

@darkzcythe μ„€λͺ…ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. XLSX μ˜ˆμ œμ— λŒ€ν•œ git repoκ°€ β€‹β€‹μžˆμŠ΅λ‹ˆκΉŒ? 그것은 쒋은 κ²ƒμž…λ‹ˆλ‹€.

@darkzcythe κ°μ‚¬ν•©λ‹ˆλ‹€. 이 κΈ°λŠ₯을 μ‚¬μš©ν•˜κΈ° μ‹œμž‘ν•˜λ©΄μ„œ 문제λ₯Ό λ°œκ²¬ν•˜λ©΄ μ•Œλ €μ£Όμ‹­μ‹œμ˜€. λ”°λΌμ„œ λ‹€μŒ 릴리슀 전에 μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

물둠이죠, @amitbhoraniya !

μ§€κΈˆκΉŒμ§€ λ‚΄κ°€ μ–ΈκΈ‰ν•œ μœ μΌν•œ λ¬Έμ œλŠ” xlsx ν…ŒμŠ€νŠΈ 데이터 파일 λ˜λŠ” 데이터 ν…Œμ΄λΈ”μ˜ 데이터λ₯Ό λ³€κ²½ν•˜κ±°λ‚˜ μ—…λ°μ΄νŠΈ(예: μ—΄ μΆ”κ°€/제거 λ˜λŠ” μ…€μ˜ 데이터λ₯Ό λ³€κ²½ν•˜λ©΄ XML ν…ŒμŠ€νŠΈ λŸ¬λ„ˆλ₯Ό μ‹€ν–‰ν•  λ•Œ _"[sheetName] μ‹œνŠΈμ—μ„œ 찾을 수 μ—†λŠ” 데이터 λ²”μœ„ 끝의 λ ˆμ΄λΈ” [tableName]"_ μ½˜μ†” 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

ν˜„μž¬ μ €λŠ” 단일 ν…ŒμŠ€νŠΈ μ‹œλ‚˜λ¦¬μ˜€(쒅단 κ°„ 슀크립트)에 λŒ€ν•΄ 이미 400개 μ΄μƒμ˜ ν…ŒμŠ€νŠΈ 데이터 열을 가지고 있으며 λ‹€λ₯Έ ν…ŒμŠ€νŠΈμ™€ λ³„λ„μ˜ 데이터 νŒŒμΌμž…λ‹ˆλ‹€(256개 μ΄ν•˜μ˜ ν…ŒμŠ€νŠΈ 데이터가 ν¬ν•¨λœ ν…ŒμŠ€νŠΈμš© XLS 데이터 νŒŒμΌμ„ μœ μ§€ν–ˆμŠ΅λ‹ˆλ‹€). ν•΄λ‹Ή XLSX 였λ₯˜κ°€ λ°œμƒν•œ 경우 λ‹€λ₯Έ ν…ŒμŠ€νŠΈκ°€ 영ν–₯을 받지 μ•Šλ„λ‘ ν•©λ‹ˆλ‹€. XLSX 데이터 파일둜 ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•  λ•Œ μ–ΈκΈ‰ν•œ λ¬Έμ œκ°€ λ°œμƒν•˜λ©΄ κ°„λ‹¨νžˆ λ‹€μŒμ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

  • a) 데이터 ν…Œμ΄λΈ”μ˜ _LEFT_("ν‚€" 데이터 ν…Œμ΄λΈ” ν‚€μ›Œλ“œμ˜ μ™Όμͺ½)_에 빈 열을 μΆ”κ°€ν•˜κ±°λ‚˜ μ œκ±°ν•©λ‹ˆλ‹€.
  • b) 데이터 ν…Œμ΄λΈ” _ABOVE_ 빈 ν–‰ μΆ”κ°€ λ˜λŠ” 제거
  • λ˜λŠ” a)와 b)λ₯Ό λͺ¨λ‘ μˆ˜ν–‰

이것은 μΌμ’…μ˜ μ§€λ£¨ν•˜κ³  주어진 μž„μ‹œ μˆ˜μ •μ„ λ†“μΉœ 경우 ν…ŒμŠ€νŠΈμ— 였λ₯˜κ°€ λ°œμƒν•˜κΈ° μ‰½μŠ΅λ‹ˆλ‹€. 이에 λŒ€ν•œ 영ꡬ적인 μˆ˜μ •μ„ μ œκ³΅ν•  수 있기λ₯Ό λ°”λžλ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€!

@rupakgithub - μ£„μ†‘ν•˜μ§€λ§Œ κ³΅μœ ν•  곡개 git repoκ°€ β€‹β€‹μ—†μŠ΅λ‹ˆλ‹€. κΈ°μ‘΄ ν”„λ‘œμ νŠΈμΈ qaf ν”„λ ˆμž„μ›Œν¬κ°€ μžˆλŠ” 경우 이미 μ œκ³΅ν•œ 단계에 따라 μ‹œλ„ν•΄ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

@amitbhoraniya @cjayswal @reidleingod
λ“œλΌμ΄λ²„ 파일둜 .xlsx에 λŒ€ν•œ μœ„μ˜ κ΅¬ν˜„μ„ 따라 μ‹€ν–‰ν•˜λ €κ³  ν–ˆμŠ΅λ‹ˆλ‹€. λ‚΄ ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ QAF의 κΈ°μ‘΄ μ£Όμš” κΈ°λŠ₯을 μ‚¬μš©ν•˜μ—¬ n개의 κ°€λŠ₯ν•œ ν–‰ μ‘°ν•©μœΌλ‘œ ν•˜λ‚˜μ˜ μ‹œλ‚˜λ¦¬μ˜€λ₯Ό n번 μ‹€ν–‰ν•  수 μ—†λ‹€λŠ” 데이터 κ³΅κΈ‰μžλ‘œ μ‹€ν–‰λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ‹œν–‰μ— λŒ€ν•œ μ•ˆλ‚΄λ₯Ό λΆ€νƒλ“œλ¦½λ‹ˆλ‹€. .xls ν‚€ κΈ°λŠ₯을 μ‚¬μš©ν•˜λ©΄ μ‹œμž‘ 킀와 끝 ν‚€κ°€ μΆ”κ°€λœ n ν–‰μœΌλ‘œ n번 ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

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