SitePrism 一直在为我的自动化项目工作,直到我需要处理一个特定的 ReactModal 对象,该对象可以与直接 capybara find 命令一起使用,但不能在 SitePrism 中使用。我真的很感激这个问题的任何帮助。
在 pry 调试器中调用 find 会起作用
pry(#RSpec::Core::ExampleGroup::Nested_1)> 找到“div:nth-child(18) > div > div > div”
=> # "div:nth-child(18) > div > div > div"
pry(#RSpec::Core::ExampleGroup::Nested_1)> find find "div:nth-child(18) > div > div > div"
=> # "div:nth-child(18) > div > div > div"
但是调用 SitePrism 对象 @videos_page.clipping 会导致错误
pry(#RSpec::Core::ExampleGroup::Nested_1)>@videos_page.clipper ArgumentError:来自 /Users/kpham/.rvm/gems/ruby-2.3.0@social 的参数数量错误(给定 2,预期为 0) /gems/site_prism-2.9/lib/site_prism/element_container.rb:28:in 初始化'
pry(#RSpec::Core::ExampleGroup::Nested_1)>@videos_page.clipping ArgumentError:来自 /Users/kpham/.rvm/gems/ruby-2.3.0@social 的参数数量错误(给定 2,预期为 0) /gems/site_prism-2.9/lib/site_prism/element_container.rb:28:ininitialize'
class ClippingDialog <SitePrism::Page
element :header, ".bc-modal-header h3"
element :close, ".bc-close"
section :body, ClippingDialogBody, ".bc-modal-body"
section :footer, ClippingDialogFooter, ".bc-modal-footer"
end
class VideosPage <SitePrism::Page
set_url "/videos"
section :clipper, ClippingDialog, ".bc-dialog.bc-dialog-clipping"
section :clipping, ClippingDialog, "div:nth-child(18) > div > div > div"
end
<div class="ReactModalPortal">
<div class="ReactModal__Overlay ReactModal__Overlay--after-open bc-modal bc-modal-clipping" data-reactid=".2">
<div class="ReactModal__Content ReactModal__Content--after-open bc-modal-content bc-modal-content-clipping" tabindex="-1" data-reactid=".2.0">
<div role="dialog" class="bc-dialog bc-dialog-clipping" data-reactid=".2.0.0">