SitePrism一直非常适合我的自动化项目,直到我需要处理一个特定的ReactModal对象,该对象适用于直接capybara find命令,但不适用于SitePrism。我真的很感激这个问题的任何帮助。
在pry调试器中调用find可以正常工作
撬(#RSpec ::核心:: ExampleGroup :: Nested_1)GT; 找到“div:nth-child(18)> div> div> div”
=> #“div:nth-child(18)> div> div> 格“
撬(#RSpec ::核心:: ExampleGroup :: Nested_1)GT; 找到“div:nth-child(18)> div> div> div”
=> #“div:nth-child(18)> div> div> 格“
但是调用SitePrism对象@ videos_page.clipping会导致错误
撬(#RSpec ::核心:: ExampleGroup :: Nested_1)GT; @ 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 initialize'
撬(#RSpec ::核心:: ExampleGroup :: Nested_1)GT; @ 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">
答案 0 :(得分:0)
发现我的部分定义,剪切和粘贴错误的问题。
class ClippingDialog <SitePrism::Page
应该是:
class ClippingDialog <SitePrism::Section
我的问题已经解决。