2012-04-27 66 views
0

我剛開始使用Watir爲我的Web應用程序編寫一些簡單的測試。使用SafariWatir查找類型電子郵件的輸入

我想做的第一件事是填寫一個登錄表單與SafariWatir在OS X

型「電子郵件」的電子郵件輸入元素這是行不通的:

browser.text_field(:id, "email").set('[email protected]') 

跟蹤:

/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 

我假設元素由於不同的類型屬性值而不匹配。文檔沒有說明這種元素的任何規範。有任何想法嗎?

謝謝!

更新:加入(格式化)HTML基於用戶的評論,他們正在測試pinganalytics

<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> 
+1

SafariWatir基本上是一個不活動的項目。考慮用[Watir-Webdriver](http://watirwebdriver.com/safari/)代替 – 2012-04-27 16:16:49

+1

我也建議你把被測頁面的html(或者頁面的鏈接)放在 – 2012-04-27 20:25:54

+0

測試http://pingalytics.com我會嘗試Watir-Webdriver。謝謝! – ptz0n 2012-04-28 10:59:22

回答

1

「電子郵件」類型的輸入元素的樣品是新的HTML5的。 Safariwatir是一個較早的項目,它早於HTML5。它沒有看到很多近期的工作,當搜索潛在的'text_field'元素時,它很難找到這種類型。

Watir 3.0或Watir-webdriver將是一個更安全的賭注,因爲很多工作已經進入到那些工作中,以使他們能夠正確支持HTML5。

此外,由於webdriver的最近剛剛增加了對Safari瀏覽器(see here for instructions)支持,它現在是一個可行的替代safariwatir(我非常期待會看到沒有進一步的工作向前發展。) Safari的支持仍然是一點點DYI爲您必須構建自己的Safari擴展程序,並且只能在Mac上運行,但如果我們看到有人開始發佈可從網上圖庫下載的標準Safari瀏覽器擴展程序,則這可能會改變。

相關問題