Watir-Webdriver text_field弃用 - 使用textarea(但方法似乎不起作用)

时间:2015-07-01 15:41:18

标签: ruby selenium-webdriver cucumber watir-webdriver

新版 watir-webdriver(0.8.0)已发布。我已经安装了它并且一直在运行我的套件以检查更改。在此过程中,我注意到<input id="some_id" type="text">标记中用于设置文本的text_field方法已被弃用Locating textareas with '#text_field' is deprecated. Please, use '#textarea' method instead.我将text_field方法更改为textarea,但是一旦我这样做,就不能再找到该元素。

我使用的方法错了吗?我试着将它用作browser.textarea(:id=> 'some_id').when_present.set "Text"。一旦方法超时,我收到消息说无法找到标记名为textarea的元素。想知道我是否还需要使用textarea方法在<input id="some_id" type="text">标记中设置文字。

已编辑 =&gt; html我想尝试自动化:

<form action="some_href" method="post">
  <p class="align">
    <label for="user">Username</label>
    <input id="login" type="text" value="">
  </p>
  <p class="align">
    <label for="pass">Password</label>
    <input id="password" type="password" value="">
  </p>
</form>

已编辑用于自动化页面的Watir代码

#RUBY CODE
class Login

  def open
    @browser = Watir::Browser.new :firefox
    @browser.goto some_website_url #URL leading to page with form HTML above
  end

  def login_as
    user_field.when_present(10).set username
    password_field.when_present(10).set password
    login_link.when_present(10).click
  end

  def user_field
    @browser.text_field(:id=> "login")
  end

  def password_field
    @browser.text_field(:id=> 'password')
  end

  def username
    "user123"
  end

  def password
    "p@ssw0rd"
  end

  def login_link
    @browser.link(:text=> 'Sign-in')
  end
end#Login

#STEP DEFINITION
Given(/^login to website$/) do
  login = Login.new
  login.open
  login.login_as
end

我在没有弃用消息的情况下使用的先前版本是:

watir-webdriver(0.6.11)

selenium-webdriver(2.44.0)

如果有人对问题有所了解,任何答案都会受到赞赏。

0 个答案:

没有答案