2

这是我的视图代码,我在其中制作了多个“a”标签并想测试来自 li 的第三个元素。我们可以按照下面的代码用商品 ID 唯一标识...

<div class="search_data_outer_div">
  <ul>
   <li class="small_preview">
     <div class="image_area">
       <a href="/offer/show/334">
     </div>
     <span>
       <span class="artist_name">Artist 1</span>
       <span class="remaining_time">Remaining Time: 7 days</span>
       <i id="334" class="icon-remove pointer" style="position:absolute;right:0;display:none;"></i>
    </span>
  </li>

我已经尝试过一步定义......它在黄瓜上工作得很好,但是当用硒(WebDriver)执行时,点击后页面没有打开。

Scenario:    
When I press third offer
Then I should see "YOUR OFFER"

及其步骤定义文件

When /^I press third offer$/ do
  page.execute_script %Q{ $(".search_data_outer_div ul li .image_area a").eq(2).click(); }
end

如果有人可以提供帮助,请告诉我正确的解决方案

谢谢

4

1 回答 1

0

IIRC CSS 样式选择器在某些版本的 Web 驱动程序中存在问题。理想情况下,您会为此设置 PageObject 变量,这样您就不会在步骤中使用原始 webdriver 代码,但这样的东西应该可以工作:

browser.div( :class => 'search_data_outer_div').div( :class => 'image_area').links.first.click
于 2015-07-06T15:20:45.207 回答