【发布时间】:2016-11-30 14:20:49
【问题描述】:
SitePrism 一直在为我的自动化项目工作,直到我需要处理一个特定的 ReactModal 对象,该对象可与直接 capybara find 命令一起使用,但不适用于 SitePrism。对于这个问题,我非常感谢任何帮助。
在 pry 调试器中调用 find 会起作用
撬(#RSpec::Core::ExampleGroup::Nested_1)> 找到“div:nth-child(18) > div > div > div”
=> # "div:nth-child(18) > div > div > div"
撬(#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:参数数量错误(给定 2,预期为 0) 来自 /Users/kpham/.rvm/gems/ruby-2.3.0@social/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/gems/site_prism-2.9/lib/site_prism/element_container.rb:28:ininitialize 的参数数量错误(给定 2,预期为 0)
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">
【问题讨论】:
标签: capybara site-prism