新版 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)
如果有人对问题有所了解,任何答案都会受到赞赏。