如何使用Cucumber和Capybara单击多个单词动态按钮



尝试编写一个测试,该测试涉及单击一个带有两个单词的按钮,如下所示。

click_on("更多过滤器")不起作用,因为该按钮由不同的单词组成,并且单击按钮更改为"少过滤器"。CSS选择器似乎都没有起作用或XPATH。

可以在链接中看到过滤器

<button class="button Button wideSidepaneFilterButton v3 compact text" type="button" tabindex="0" data-rf-test-id="filterButton" data-reactid="133">
  <span data-reactid="134">
    <span class="wideSidepaneMoreText" data-reactid="135">More</span>
    <span class="wideSidepaneFiltersText" data-reactid="136">Filters</span>
    <svg class="SvgIcon rfSvg show-less showMoreIcon rotate" data-reactid="137">
  </span>
</button>

两个单词之间没有实际空间,所以尝试

click_button(“MoreFilters”)

以下代码表明,只要您实际使用标签所示的硒,它可以进行测试

require 'capybara/dsl'
require 'selenium-webdriver'
session = Capybara::Session.new(:selenium_chrome)
session.visit "https://www.redfin.com/city/10940/CA/Long-Beach/filter/sort=lo-distance,viewport=33.82154881308594:33.718551986914065:-118.12507494921876:-118.26240405078126,no-outline,geo-address=Long+Beach%0C+CA%0C+USA"
session.click_button('MoreFilters')

最新更新