我正在尝试测试一个生成票证的应用程序,所以我必须打开一个票证,然后假设它。我对假设的部分有问题,因为门票是用随机ID(门票号码)打开的。
<button type="submit" id="assign_ticket_6168218" class="btn btn-primary exchange_button">
<i class="fa fa-thumbs-up"></i> Assume
id="assign_ticket_6168218"
的数量是随机的,但其他部分总是相同的。所以,我正在创建票证,现在我必须单击按钮来假设它。我如何创建票证并存储票证编号以在ID上使用它?
PS:如果这很重要,当创建票证时,我会收到一条带有票证ID的确认消息:
`<div id="messages" class="clearfix">
<div class="success global alert-default form-section">
<ul>
<li><i class="fa fa-check"></i>Ticket 6168218 created.</li>
</ul>
<a href="javascript:;" class="close-alert"><strong>x</strong></a>
</div>
`
如果您已经将票号提取到一个变量中(来自您之前关于SO的问题),那么它只是
click_button("assign_ticket_#{ticket_number}")
您可以使用xpath搜索而不是css查找来获取要测试的元素。xpath支持regex,所以它可以是类似的东西
expect(page).to have_xpath("//div[contains(@cid, 'assign_ticket_')]")
或者,如果你有已经创建的号码(在你的情况下是票号),你可以进行
expect(page).to have_xpath("//div[contains(@cid, 'assign_ticket_#{ticket_object_number')]")