2012-12-15 4 views
1

입력 텍스트 필드가있는 JSP 페이지가 있습니다.셀레늄 유형 방법을 사용하는 방법은 무엇입니까?

<table> 
    <tr> 
     <td><input type="text" id="searchText" name="searchInput"/></td> 
    </tr> 
    </table> 

검색 입력 텍스트가 있는지 확인하는 셀렌 테스트 케이스를 작성했습니다.

public class UIRecipeListTest extends SeleneseTestBase { 

    @Before 
    public void setup() { 

     WebDriver driver = new FirefoxDriver(new FirefoxBinary(new File(
     "C:\\Program Files (x86)\\Mozilla Firefox 3.6\\firefox.exe")), new FirefoxProfile()); 

     String baseUrl = "http://localhost:8080/RecipeProject/"; 
     selenium = new WebDriverBackedSelenium(driver, baseUrl); 
    } 

    @Test 
    public void testShowRecipes() { 
     verifyTrue(selenium.isElementPresent("searchText")); 
     selenium.type("searchText", "salt"); 
    } 

}

verifyTrue 테스트 수익을 사실. 그러나 selenium.type 시험이 오류로 인해 실패 : com.thoughtworks.selenium.SeleniumException : 요소 검색 텍스트가

나는 시험 작품을 만들기 위해 어떻게해야 하는가를 찾을 수 없습니다?

감사합니다.

+0

으로 검색 필드에 해당 텍스트가 표시되지 않습니다. – Smit

+0

@smit : 예외는 셀렌이 searchText의 id를 가진 입력 텍스트를 찾을 수 없다는 것을 의미한다고 생각합니다. 그러나 verify true는 해당 id를 가진 요소가 있음을 증명했습니다. – zfranciscus

+0

내가 잘못되었을 수 있습니다. 방금 재미있게 셀레늄을 가지고 놀았습니다. 그러나 그 텍스트 필드를 기다려야 할 수도 있습니다. – Smit

답변

5

첫 번째 매개 변수는 선택기 여야합니다. searchText은 유효한 CSS 또는 xpath 선택자가 아닙니다.

당신은

selenium.type("css=input#searchText", "salt"); 또한이 셀레늄의 두 버전 사이에가는 것으로 보인다 것을 지적하고 싶었 같은 것을 사용합니다.

selenium.type(String,String)은 셀렌 1 API에서 유래 한 것입니다. 당신은 1 개 버전으로 유지해야하며,이 셀레늄이있을거야, 당신은 뭔가를 할 필요가

WebElement element = driver.findElement(By.id("searchText")) 을 사용할 element.sendKeys("salt");

출처 : 예외가, 그것을 말할 Selenium API type(String,String)

+0

팁 주셔서 감사합니다. 파이어 폭스가 제대로 작동하지 않는다는 의혹이 있습니다. 나는 선택 자의 다른 조합을 시도하고 그들 중 누구도 일하고 ​​있지 않다. – zfranciscus

관련 문제