验证是否有不同的菜单项

发布于 2025-01-26 04:31:30 字数 1572 浏览 1 评论 0原文

我将尝试改善问题。 如何验证菜单中是否包含其他项目:GAR? 我在下面使用了它,它仍然没有用 page.all('select#tbm2')。映射(&:value).should ==%w(regras,gar regras,gae log processamentosos gar/gae)

<div id="tbm2" class="tb">
      <div id="TBH_tbm2" onclick="javascript:showMenu('tbm2','tbm2', true, true)" class="tbh">GAR</div>
      <div id="TBB_tbm2" class="tbb">
         <div onclick="sendEvent(0,event,this,searchImage(this),0,'','1370','Menu','','','.13.3','',''); " class="tbi tbiSel">
            <div>
               <div class="tbiIcon"><img src="r/std/static/pixel.gif" class="icon icon_config" draggable="false"></div>
            </div>
            <div>Regras GAR</div>
         </div>
         <div onclick="sendEvent(0,event,this,searchImage(this),0,'','1370','Menu','','','.13.4','',''); " class="tbi">
            <div>
               <div class="tbiIcon"><img src="r/std/static/collapse16.gif" class="icon" draggable="false"></div>
            </div>
            <div>Regras GAE</div>
         </div>
         <div onclick="sendEvent(0,event,this,searchImage(this),0,'','1370','Menu','','','.13.6','',''); " class="tbi">
            <div>
               <div class="tbiIcon"><img src="r/std/icons/listini64.png" class="icon" draggable="false"></div>
            </div>
            <div>Log Processamentos GAR/GAE</div>
         </div>
      </div>
   </div>
</td>

I will try to improve the question.
How to validate if a different item is included in the menu: GAR?
I used it below and it still didn't work
page.all('select#tbm2').map(&:value).should == %w(Regras, GAR Regras, GAE Log Processamentos GAR/GAE)

<div id="tbm2" class="tb">
      <div id="TBH_tbm2" onclick="javascript:showMenu('tbm2','tbm2', true, true)" class="tbh">GAR</div>
      <div id="TBB_tbm2" class="tbb">
         <div onclick="sendEvent(0,event,this,searchImage(this),0,'','1370','Menu','','','.13.3','',''); " class="tbi tbiSel">
            <div>
               <div class="tbiIcon"><img src="r/std/static/pixel.gif" class="icon icon_config" draggable="false"></div>
            </div>
            <div>Regras GAR</div>
         </div>
         <div onclick="sendEvent(0,event,this,searchImage(this),0,'','1370','Menu','','','.13.4','',''); " class="tbi">
            <div>
               <div class="tbiIcon"><img src="r/std/static/collapse16.gif" class="icon" draggable="false"></div>
            </div>
            <div>Regras GAE</div>
         </div>
         <div onclick="sendEvent(0,event,this,searchImage(this),0,'','1370','Menu','','','.13.6','',''); " class="tbi">
            <div>
               <div class="tbiIcon"><img src="r/std/icons/listini64.png" class="icon" draggable="false"></div>
            </div>
            <div>Log Processamentos GAR/GAE</div>
         </div>
      </div>
   </div>
</td>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陌伤浅笑 2025-02-02 04:31:30

all('选择#tbm2')将找到所有&lt; select&gt;带有tbm2的ID的元素,其中没有一个在您的HTML中。另外,.value获取value元素的属性,但是您拥有所有div elements,没有值。如果您想使用您正在尝试的方法,那将是

page.all('#tbm2 .tbi', count: 3).map(&:text).should == ['Regras GAR', 'Regras GAE', 'Log Processamentos GAR/GAE']

另一个选择是使用否定的正则匹配匹配项,类似

page.find('#tbm2').should_not have_css('.tbi', text: /^(?!Regras GAR|Regras GAE|Log Processamentos GAR/GAE)/)

另一个选项是使用可以传递给大多数Capybara Finder方法的过滤器块,例如

page.should_not(have_css('#tbm2 .tbi') { |node| ['Regras GAR', 'Regras GAE', 'Log Processamentos GAR/GAE'].none?(node.text) })

注意:我正在使用应该语法,因为这是您在问题中尝试的,但是您确实应该切换到RSPECS 期望语法

all('select#tbm2') is going to find all <select> elements with an id of tbm2, of which there are none in your HTML. Also .value gets the value property of an element but you have all div elements which don't have a value. If you wanted to use the approach you're trying for it would be something like

page.all('#tbm2 .tbi', count: 3).map(&:text).should == ['Regras GAR', 'Regras GAE', 'Log Processamentos GAR/GAE']

Another option would be to use a negative regex match, something like

page.find('#tbm2').should_not have_css('.tbi', text: /^(?!Regras GAR|Regras GAE|Log Processamentos GAR/GAE)/)

Another option would be to use the filter block that can be passed to most Capybara finder methods, like

page.should_not(have_css('#tbm2 .tbi') { |node| ['Regras GAR', 'Regras GAE', 'Log Processamentos GAR/GAE'].none?(node.text) })

Note: I'm using the should syntax because that's what you attempted in your question, but you really should be switching to RSpecs expect syntax nowadays

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文