我正在尝试测试生成票证的应用程序,因此我必须打开票证然后再接受它。 假设它的部分我遇到了问题,因为门票是用随机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:如果这是importante,当创建故障单时,我收到一条带有故障单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>
`
答案 0 :(得分:0)
您可以使用xpath搜索而不是css find来获取要测试的元素。 xpath支持正则表达式,因此它可能类似于
expect(page).to have_xpath("//div[contains(@cid, 'assign_ticket_')]")
或者,如果您有已创建的号码(在您的情况下为票号),您可以
expect(page).to have_xpath("//div[contains(@cid, 'assign_ticket_#{ticket_object_number')]")
答案 1 :(得分:0)
如果你已经将票号抽成一个变量(来自你之前关于SO的问题),那么它只是
click_button("assign_ticket_#{ticket_number}")