2014-06-18 2 views
1

셀레늄 테스트 케이스에 초보자인데 생성 된 웹 드라이버 코드 (java; j-unit) 사이를 로밍하고 해당 코드의 일부 변경 사항으로 해당 코드를 실행하는 방법 및 프로젝트에서 오류가 발견 된 경우webdriver 코드를 생성 한 후 코드를 수정하는 방법 및 위치

그 전에 우리가 코드에서 변경 한 부분을 알 수 있습니다. Eaxmple를 들어

: 나는 일식에 패키지로 가져 셀레늄 IDE에서 링크 버튼을 확인하고와 자바/JUnit 4에서는/webdriver 코드 생성 로그인 폼 페이지를 기록

...

나는 기능을 추가 또는 로그인 양식의 변화와 내가 purpously 내가 자바/JUnit 4에서는/webdriver 코드로, 내가 O를 인쇄 할 이전에 생성 된 것을 셀레늄 테스트를 사용하여 연결 버튼

을 유지하는 것을 잊지/P는 다음과 같이

"링크 버튼을 찾을 수 없습니다"
package web; 
//import java.util.regex.Pattern; 
import java.util.concurrent.TimeUnit; 
import org.junit.*; 
import static org.junit.Assert.*; 
//import static org.hamcrest.CoreMatchers.*; 
import org.openqa.selenium.*; 
import org.openqa.selenium.firefox.FirefoxDriver; 
//import org.openqa.selenium.support.ui.Select; 

public class webdriver { 
    private WebDriver driver; 
    private String baseUrl; 
    //private boolean acceptNextAlert = true; 
    private StringBuffer verificationErrors = new StringBuffer(); 

    @Before 
    public void setUp() throws Exception { 
    driver = new FirefoxDriver(); 
    baseUrl = "http://localhost/"; 
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
    } 

    @Test 
    public void testUntitled() throws Exception { 
    driver.get(baseUrl + "/CRM/Default.aspx"); 
    driver.findElement(By.id("LoginMain_UserName")).clear(); 
    driver.findElement(By.id("LoginMain_UserName")).sendKeys("Admin"); 
    driver.findElement(By.id("LoginMain_Password")).clear(); 
    driver.findElement(By.id("LoginMain_Password")).sendKeys("xxx"); 
    try { 
     assertTrue(isElementPresent(By.id("LoginMain_UserNameLabel"))); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
    } 
    try { 
     assertTrue(isElementPresent(By.id("LoginMain_PasswordLabel"))); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
    } 
    try { 
     assertTrue(isElementPresent(By.id("LoginMain_UserName"))); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
    } 
    try { 
     assertTrue(isElementPresent(By.id("LoginMain_Password"))); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
    } 
    try { 
     assertTrue(isElementPresent(By.id("LoginMain_LoginButton"))); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
    } 
    try { 
     assertTrue(isElementPresent(By.id("LinkButtonRegister"))); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
    } 
    driver.findElement(By.id("LoginMain_LoginButton")).click(); 
    try { 
     assertEquals("Webdriver Testingest.,", driver.getTitle()); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
    } 
    try { 
     assertTrue(isElementPresent(By.id("ctl00_ctl00_ImageButton1"))); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
    } 
    try { 
     assertTrue(isElementPresent(By.id("ctl00_ctl00_ImageButton2"))); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
    } 
    try { 
     assertTrue(isElementPresent(By.linkText("Home"))); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
    } 
    try { 
     assertTrue(isElementPresent(By.linkText("Sales"))); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
    } 
    try { 
     assertTrue(isElementPresent(By.linkText("Masters"))); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
    } 
    } 

    @After 
    public void tearDown() throws Exception { 
    driver.quit(); 
    String verificationErrorString = verificationErrors.toString(); 
    if (!"".equals(verificationErrorString)) { 
     fail(verificationErrorString);   
    } 
    } 

    private boolean isElementPresent(By by) { 
    try { 
     driver.findElement(by); 
     return true; 
    } catch (NoSuchElementException e) { 
     return false; 
    } 
    } 
+0

나는 당신에게 나쁜 소식이있다 : 자바와 알고리즘에 대한 기본적인 이해가 필요하다. ... –

+0

링크 버튼을 확인하는 assert 메시지가 존재한다. 변경 사항을 알려줄 수 있도록 코드를 게시하십시오. – Morvader

+0

@PavelJanicek 옙 ur 오른쪽 .. 기본 자바 코딩 knpw ..하지만 변경 사항을 수행 할 수 없습니다 어 – Arun

답변

1

얻으려면 당신이 수정해야 할 원하는 :

try { 
     assertTrue("Link button not found",isElementPresent(By.id("LinkButtonRegister"))); 
} catch (Error e) { 
     //Add here any log message if necesary 
     System.out.println("Link button not found"); 

     verificationErrors.append(e.toString()); 
} 

가 도움이 희망!

+1

@ user3563106 게시 됨, 생성 된 Java 코드를 수정해야합니다. try/cath thats는 링크 버튼이 존재하는지 확인합니다. – Morvader

+0

감사합니다. @Morvader !!! 그것의 처음 내가 excecuted ... 어디에 내가이 webdriver에 대한 내 코딩을 개선하기 위해 참조하고 싶습니다 pls 도와주세요 :) – Arun

관련 문제