チケットを生成するアプリケーションをテストしようとしていますので、チケットを開いて引き継ぐ必要があります。 チケットはランダムなID(チケットの番号)で開かれているので、私はそれを引き受ける部分に問題があります。HTMLページ(キュウリ/カピバラ)でランダムな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:あなたが代わりにCSSの、XPathの検索を使用することができ
`<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>
`
私はこのフォームを試しましたが、うまくいきませんでした。私はこの 'page.find(:xpath、// div [@cid、 'assign_ticket _#{@ ticket_no [1]}')]') 'を試しました。しかし、私は 'Capybara :: ElementNotFound:xpathを見つけることができませんでした"というメッセージが表示されています。// div [contains(@cid、 'assign_ticket_6168332')] ''助言がありますか? –
XPathでおそらく@idを意味します。また、CSSは文字列の始まり/終わり/含まれているマッチング属性をサポートしています - div [id * = "assign_ticket_"]はXPathと同様にcontainsマッチを行い、div [id^= "assign_ticket_"]はbegin-with idで一致する –