如何在 HTML 页面 (Cucumber/Capybara) 上找到随机 ID
How to find a random ID on HTML page (Cucumber/Capybara)
我正在尝试测试生成票证的应用程序,所以我必须打开票证然后假设它。
我对假设的部分有疑问,因为票是用随机 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>
`
您可以使用 xpath 搜索而不是 css 查找来获取要测试的元素。 xpath 支持正则表达式,因此它可能类似于
expect(page).to have_xpath("//div[contains(@cid, 'assign_ticket_')]")
或者,如果您有已创建的号码(在您的案例中为票号),您可以这样做
expect(page).to have_xpath("//div[contains(@cid, 'assign_ticket_#{ticket_object_number')]")
如果您已经将票号提取到一个变量中(来自您之前关于 SO 的问题),那么它只是
click_button("assign_ticket_#{ticket_number}")
我正在尝试测试生成票证的应用程序,所以我必须打开票证然后假设它。 我对假设的部分有疑问,因为票是用随机 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>
`
您可以使用 xpath 搜索而不是 css 查找来获取要测试的元素。 xpath 支持正则表达式,因此它可能类似于
expect(page).to have_xpath("//div[contains(@cid, 'assign_ticket_')]")
或者,如果您有已创建的号码(在您的案例中为票号),您可以这样做
expect(page).to have_xpath("//div[contains(@cid, 'assign_ticket_#{ticket_object_number')]")
如果您已经将票号提取到一个变量中(来自您之前关于 SO 的问题),那么它只是
click_button("assign_ticket_#{ticket_number}")