首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在<option></option>标记中选择内容

在<option></option>标记中选择内容
EN

Stack Overflow用户
提问于 2014-10-15 15:40:44
回答 2查看 125关注 0票数 1

使用黄瓜和SitePrism编写测试时,页面上有以下HTML .

代码语言:javascript
复制
<select name="product_status_id" id="product-status" class="pull-right">
   <option value="">Select a Status</option>
   <option value="1">Active Product</option>
   <option value="2">Inactive Product</option>
</select>

目前,我为这个下拉列表设置的元素选择器是.

代码语言:javascript
复制
 element :status_active, '#product-status'

我首先将测试中的第一个值设置为"Active Product“.

代码语言:javascript
复制
And(/^I select the status of Active$/) do
   @page.product.status_active.select("Active Product")
end

然后验证保存的值是"Active Product“的状态。

代码语言:javascript
复制
And(/^the product values entered should match those which were saved$/) do
   @page.product.status_active.value.should == "1"
end 

但是,如果要切换这些值,"Active Product"value="2""Inactive Product"value="1",则测试将不再验证字段是否设置为"Active Product"值。

是否有一个实例可以用来检查选项标记之间的内容?

代码语言:javascript
复制
<option>want to select content here</option> 

当我写以下文章时..。

代码语言:javascript
复制
@page.product.status_active.text.should == “Active Product”

以下是..。

代码语言:javascript
复制
"Select a Status Active Product Inactive Product”

因此,在这里,.text方法似乎不是一个足够的解决方案。

如何在选项标签之间选择内容?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-15 19:17:59

当选择一个选项时,它应该具有如下所选的属性:<option value="1" selected>Active Product</option>,您可以使用它作为选择器。

因此,您可以找到如下所选的选项:@page.product.status_active.find('option[selected]')

因此,要验证所选选项的文本,请执行以下操作:@page.product.status_active.find('option[selected]').text.should == “Active Product”

与此相关的是,我发现自己经常这样做,我在测试套件中添加了以下内容:class Capybara::Node::Element def selected_option self.find('option[selected]') end end

这就为水豚元素添加了一个selected_option。有了这个,你就可以做这个@page.product.status_active.selected_option.text.should == “Active Product”

票数 1
EN

Stack Overflow用户

发布于 2014-10-16 20:06:18

如果我正确地理解了您,您希望能够仅使用选项标签之间的文本从下拉列表中选择某些内容。

一旦您为您的选择器找到css,您可以使用文本匹配器来找到您需要的选项。它也使一些规格,可以很容易地阅读和维护。

这里它使用的是水豚:

Page.find(‘#Product选项’,:text => 'Active Product').click

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26386583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档