2012-04-27 3 views
0

Я только начал использовать Watir для написания простых тестов для своего веб-приложения.Поиск ввода типа электронной почты с помощью 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/). –

+1

Я также советую вам поместить html для тестируемой страницы (или ссылку на страницу). –

+0

Тестирование http://pingalytics.com Я попробую Watir-Webdriver. Спасибо! – ptz0n

ответ

1

«Электронная почта» типа для входного элемента нового, как в HTML5. Safariwatir - это более старый проект, который в значительной степени предшествует HTML5. Он не видел много недавней работы, и маловероятно, что он будет искать этот тип при поиске потенциальных элементов «text_field».

Watir 3.0 или Watir-webdriver были бы более надежной ставкой, так как много работы ушло на то, чтобы привести их к правильной поддержке HTML5.

Также с WebDriver только недавно была добавлена ​​поддержка Safari (see here for instructions), теперь жизнеспособной альтернативой safariwatir (который я очень ожидаю будет видеть никакой дальнейшей работы не идти вперед.) поддержка Safari еще чуть-чуть DYI, как вам нужно создать собственное расширение сафари, и оно работает только на Mac, но это может измениться, если мы увидим, что кто-то начнет публиковать стандартное расширение сафари, которое можно загрузить из онлайн-галереи.