2014-07-08 1 views
0
@RunWith(DataDrivenTestRunner.class) 
@DataLoader(filePaths = { "C:/eclipse/backendUserRegistration.xls" } , writeData=false) 

public class UserLimitationPerCountryAndOperatorTest extends SeamlessBaseTest{ 

@Test 
public void testLimitOfUsersOnOperators(@Param(name="country")String country , 
             @Param(name="limitation")String limitation) { 
    OMBEBasePage basePage = loginOMBE(); 
    NewUserRegistrationPage registrationPage = basePage.goToNewUserRegistrationPage(); 
    registrationPage.createNewUser(country, "Noxwin"); 
    String account = registrationPage.getAccountCreatedConfirmationMessage(); 
    assertTrue(account.contains(" created")); 
    String createdUser = account.split(" ")[0]; 
    System.out.println(createdUser); 
    UserSearchPage userSearchPage = basePage.goToUserSearchPage(); 
    userSearchPage.searchByUserName(createdUser); 
    String userLocalLimit = userSearchPage.getUserGeneralLocalLimit(); 
    assertEquals(limitation, userLocalLimit); 
    userSearchPage.goToMyProfileTab(); 
    String userCountry = userSearchPage.countryOfUser(); 
    assertEquals(" "+country, userCountry); 
} 

@After 
public void logoutAfterTest() { 
    OMBEBasePage basePage = new OMBEBasePage(driver); 
    basePage.logoutOMBE(); 
} 

}어떻게 자바

이 내가 작성한 테스트는, 엑셀에서 시험 결과 및 데이터 EaseTech, 셀레늄과 파일 쓰기와 잘 작동, 내가 지금하고 싶은 것, Excel 파일에 createdUser을 한 열에, 테스트 결과를 다른 열에 쓰는 것입니다.

감사합니다.

답변

0

이 간단한 시나리오에서 CSV 파일을 만들고 Excel로 가져 오는 것이 좋습니다. 그러니 그냥

try { 
    FileWriter writer = new FileWriter("testResult.csv"); 
    writer.append(createdUser); 
    writer.append(','); 
    writer.append(testResult); //whatever String this is 
    writer.flush(); 
    writer.close(); 
catch (IOException ex) { 
    //handle exception somehow  
} 

을 작성하고 Excel로 가져 오기 testResult.csv보다, 두 개의 열이 당신에게 시트를 제공한다 - 생성 된 사용자 및 테스트 결과입니다.

복잡한 시나리오가있는 경우에는 Apache POI 라이브러리를 사용하는 것이 좋습니다.

+0

솔루션을 시도했지만 실제로 CSV로 쓰지만 이전 데이터를 무시합니다 (xls 파일에 5 개의 매개 변수가 있고 테스트에서 모두 하나씩 실행 함). 테스트 결과에 대해서는 Passed/Failed/Error와 같이 테스트 결과를 자동으로 작성할 수 있는지 궁금합니다. 감사합니다. –

+0

물론 간단하게 해결할 수 있습니다. 각 테스트 실행마다 증가 할 테스트 클래스에'count' 변수가 있어야합니다. 'new FileWriter ("testResult"+ count + "1.csv");'와 같은 파일을 저장할 수 있습니다. 그러나 어쩌면 당신은 더 좋은 것을 찾을 것입니다. –

+0

그리고 두 번째 질문은 TestNG 또는 JUnit을 사용하는 경우 테스트가 끝난 후 호출 될 리스너를 설정해야하며 결과가 파일에 추가됩니다 . –