3

入力テキストフィールドのあるJSPページがあります。

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

検索入力テキストが存在することを確認するSeleniumテストケースを作成しました。

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テストはを返しますtrue。ただし、selenium.typeテストは次のエラーで失敗しました。

com.thoughtworks.selenium.SeleniumException: Element searchText not found

テストを機能させるにはどうすればよいですか?

4

1 に答える 1

8

最初のパラメーターはセレクターである必要があります。searchText有効なCSSまたはXPathセレクターではありません。

のようなものを使用しますselenium.type("css=input#searchText", "salt");

また、あなたは2つのバージョンのSeleniumの間を行き来しているようだということも指摘したいと思います。

selenium.type(String,String)Selenium1APIからのものです。1バージョンを維持する必要があり、Selenium 2になる場合は、次のようなことを行う必要があります。

WebElement element = driver.findElement(By.id("searchText"))

と使用

element.sendKeys("salt");

ソース:Selenium API type(String、String)

于 2012-12-16T05:46:55.177 に答える