我正在使用带有 watir 和 RSpec 的页面对象 gem 来测试我的 Web 应用程序。这是我的页面对象。
require 'page-object'
class UserEditPage
include PageObject
page_url "#{$context}/user/edit?id=#{@params[:id]}"
text_field :user_id, name: 'userName'
text_field :pw, name: 'password'
text_field :pw_retype, name: 'password2'
# snip uninteresting stuff
button :submit, index: 0
end
我想通过这样的参数:id
化:page_url
PageObject::PageFactory
visit UserEditPage, using_params: {id: 1000} do |page|
# operation on page
end
该文档暗示上述用法是可能的,但我不明白这是如何实现的。
问题:如何将参数id
从访问方法传递给UserEditPage
?
运行代码导致
***/user/edit_page.rb:8:in `<class:UserEditPage>': undefined method `[]' for nil:NilClass (NoMethodError)
from ***/user/edit_page.rb:5:in `<top (required)>'
可能是因为@params
在评估 page_url 时为 nil。更改using_params: {id: 1000}
为id: 1000
没有运气。