无法找到ReactModal作为节 - ArgumentError:参数数量错误

时间:2016-11-30 14:20:50

标签: capybara site-prism

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">

1 个答案:

答案 0 :(得分:0)

发现我的部分定义,剪切和粘贴错误的问题。

class ClippingDialog <SitePrism::Page 

应该是:

class ClippingDialog <SitePrism::Section

我的问题已经解决。