このトピックでは、WebDriver 記録モードを使って記録するスクリプトに、特殊キーを入力するコードを追加する方法について説明します。Silk Test 記録モードを使った特殊キーの処理についての情報は、API ドキュメントの typeKeys メソッドを参照してください。
WebDriver 記録モードでは、特殊キーをかぎ括弧で囲んで指定します。たとえば、<back_space> や <enter> のように指定します。
クラス org.openqa.selenium.Keys.java のすべての特殊キーを Silk4J では指定できます。キーの値は、大文字小文字を区別しません。
Keys パラメーター | Keys パラメーター タイプ | 生成される Java コード |
---|---|---|
hello | 単純な文字列 |
driver.findElement(By.id("login-form:email")).sendKeys("hello"); |
<back_space> | 特殊文字 |
driver.findElement(By.id("login-form:email")).sendKeys(Keys.BACK_SPACE); |
<control+a> | コード |
driver.findElement(By.id("login-form:email")).sendKeys(Keys.chord(Keys.CONTROL, "a")); |
たとえば、次のような操作を記録したとします。
1 つの特殊文字またはキー コードだけを sendKeys メソッドの呼び出しで指定しているため、Mozilla Firefox を含むすべてのサポート ブラウザーでこれらの操作を再生できます。
driver.findElement(By.id("login-form:email")).sendKeys("helloo"); driver.findElement(By.id("login-form:email")).sendKeys(Keys.BACK_SPACE); driver.findElement(By.id("login-form:email")).sendKeys(" hello"); driver.findElement(By.id("login-form:email")).sendKeys(Keys.chord(Keys.CONTROL, "a")); driver.findElement(By.id("login-form:email")).sendKeys(Keys.BACK_SPACE); driver.findElement(By.id("login-form:email")).sendKeys("bye");