我对黄瓜很新,并且已经挂了一个测试用例。
页面上有一个表格列出了一堆产品,其中一个单元格包含了&向下图形 - 这些是用户点击的控件,用于在最终用户可以浏览的目录中向上或向下移动该产品的排序顺序。
如何选择表格中列出的第二个产品,找到它的ID&点击“向上”或向下链接?
这是表格(为了便于阅读而缩短):
<table id="product_container">
<tr>
<th>Order Position</th>
</tr>
<tr>
<td><a href="#" class="product_up" id="product_sku_goes_here">Up</a>
<a href="#" class="product_down" id="product_sku_goes_here">Down</a>
</td>
</tr>
</table>
感谢您的任何建议!
答案 0 :(得分:1)
HTML元素的id
属性在页面上必须是唯一的:http://www.w3.org/TR/html401/struct/global.html#h-7.5.2
选择产品的最简单方法是获取对其行的引用:
class ProductsTable
def initialize(driver)
@driver = driver
end
def table
@driver.find_element(:id, "product_container")
end
def products
table.find_elements(:tag_name, "td").map{|element|
Products.new(element)
}
end
end
class Products
def initialize(element)
@elem = element
end
def up
@elem.find_element(:class, "product_up")
end
def down
@elem.find_element(:class, "product_down")
end
end
driver = Selenium::WebDriver.for :chrome
driver.get "http://link_to_testing_page"
tabl = ProductsTable.new(driver)
推出第一个产品:
tabl.products.first.up.click
down:
tabl.products.first.down.click
黄瓜步骤定义:
When /^I push product (\d+) (.*)$/ do |product, where|
product = product.to_i - 1
tabl.products[product].send(where).click
end