0

저는 최근에 Selenium WebDriver와 Java를 사용하여 자동화 된 테스트를 작성했습니다. 그러나 이전의 경험은 Telerik Test Studio와 C#에서였습니다. 전환은 대부분 잘 진행되고 있지만, Selenium WebDriver에서 Test Driven의 Local Data 탭을 사용하여 설정하는 방법과 비슷하게 데이터 기반 테스트를 설정하는 방법을 찾고 있습니다 (기본 제공 제외 UI, 분명히).Java로 Selenium Webdriver의 인덱스/키가 아닌 Excel 헤더를 헤더 이름으로 어떻게 참조 할 수 있습니까?

필자는 Apache POI로 프레임 워크를 설정하여 각 데이터가 Excel 파일을 사용하여 각 행이 여러 변수로 구성된 시나리오를 나타낼 수 있도록했습니다. 문제는 열이 시간이 지남에 따라 추가되거나 재정렬되는 경향이 있기 때문에 키 또는 색인이 아닌 맨 위 행 머리글의 이름 문자열로 열을 참조하는 방법이 필요하다는 것입니다. 당신은 로컬 데이터 탭에 스프레드 시트, 당신은 쉽게의 라인을 따라 뭔가 자신의 헤더 이름으로 열을 참조 할 수 있습니다 복사 한 후

테스트 스튜디오는 ... 그이 매우 쉽게

if (...LocalData.PaymentMethod = "CreditCard")... 

... 여기서 PaymentMethod은 열의 이름이고 "CreditCard"은 해당 열의 셀에서 잠재적 인 값입니다.

누구든지 Selenium WebDriver에서 Java를 사용하여 머리글 이름 문자열로 열을 참조하는 방법을 알고 있습니까? 어떤 도움이라도 대단히 감사하겠습니다. 감사!

+0

나는 또한 내가주의해야합니다

String columnName = CellReference.convertNumToColString(columnIdex); 

당신이 필요한 열을 찾으면, 당신은 그것의 세포를 읽을 수 있습니다 : 당신은 CellReference 유틸리티 클래스와 열 인덱스를 사용하여 열 헤더를 검색 할 수 있습니다

Test Studio가 제공하는 것처럼 열을 참조하는 방법을 반드시 깨끗하게 정리할 필요는 없습니다. 그게 좋겠지 만 헤더 문자열 내용으로 열을 참조 할 수 없다는 것이 내 문제의 핵심입니다. – megamahan

답변

1

나는 당신이 엑셀 시트에서 데이터를 읽는 셀레늄을 엉망으로 만들고 있다고 생각한다. 셀레늄은 그것을 할 수 없습니다 - 아파치 POI 않습니다. 따라서 POI 사용법에 대해 답변 해 드리겠습니다.

for(Row r : sheet) { 
    Cell c = r.getCell(columnIdex); 
    // do what you need 

} 
+0

고마워,하지만 이미 지적했듯이 나는 이미 아파치 POI를 사용하고있다. 귀하의 제안은 다른 많은 열의 색인을 수동으로 업데이트해야하는 열이 추가되거나 재정렬 될 때 색인이 변경되기 때문에 특별히 피하려고하는 열의 색인을 사용합니다. 나는 많은 칼럼을 가지고있다. – megamahan