Watir を使用して、Web アプリケーションの簡単なテストを書き始めました。
最初にやりたいことは、OS X の SafariWatir を使用して、「email」タイプの電子メール入力要素をログイン フォームに入力することです。
これはうまくいきません:
browser.text_field(:id, "email").set('my@email.com')
痕跡:
/Library/Ruby/Gems/1.8/gems/safariwatir-0.4.0/lib/safariwatir/scripter.rb:661:in `execute': Unable to locate TextField, using :id and "email" (Watir::Exception::UnknownObjectException)
from /Library/Ruby/Gems/1.8/gems/safariwatir-0.4.0/lib/safariwatir/scripter.rb:303:in `focus'
from /Library/Ruby/Gems/1.8/gems/safariwatir-0.4.0/lib/safariwatir.rb:525:in `set'
from test.rb:10
type 属性値が異なるため、要素が一致していないと思います。ドキュメントには、この種の要素の仕様は記載されていません。何か案は?
ありがとう!
更新: pinganalytics をテストしているというユーザーのコメントに基づいて (再フォーマットされた) HTML サンプルを追加します
<form action="http://pingalytics.com/" method="post" accept-charset="utf-8">
<p>
<label for="email">Email</label>
<input type="email" name="email" value="" id="email" autofocus="" />
</p>
<p>
<label for="password">Password</label>
<input type="password" name="password" value="" id="password" />
</p>
<input type="submit" name="login" value="Log in with Pingdom" class="primary" />
<p>
<a href="https://www.pingdom.com/signup/">
Sign up
</a>
, or
<a href="https://pp.pingdom.com/index.php/login" title="Reset your Pingdom password">
recover your password
</a>
.
</p>
</form>