2017-10-27 6 views
1

私は、ポータルのUIを自動化するためにSeleniumを使用しています。ダイアログボックスの一つは、UUIDが毎回変化し続けて、私はこのテキストにアサートを入れるにはどうすればよいテキストダイナミックテキストがあるときにダイアログボックスのテキストを確認する方法

"Record with UUID:530d79e2-4d9a-4e8e-9114-da1431f0dd52 inserted successfully." 

を持っていますか?私が持っている1つの回避策は、以下に記載されています。

Assert.assertTrue(string.contains("Record with UUID:"); 


Assert.assertTrue(string.contains("inserted successfully."); 

これは私にとっては悪いアプローチのようです。よりクリーンな方法でそれを行うための任意の提案?

+0

これには休暇中のエンドポイントはありませんか? –

+0

これはUIテストの一部であるため、UIに表示されるメッセージを検証する必要があります。残りのエンドポイントがありますが、このメッセージは元のメッセージから変換されています –

答えて

2

最も簡単な方法は、例えば、String#matches機能を使用することです:

Assert.assertTrue(string.matches("Record with UUID:[0-9a-z\\-]+ inserted successfully.")); 
あなたはこの回答から、例えば、UUIDを検証するためのより高度な正規表現を使用することができます

java regex for UUID

Assert.assertTrue(
    string.matches("Record with UUID:[a-f0-9]{8}(-[a-f0-9]{4}){3}-[a-f0-9]{12} inserted successfully.") 
); 

または別の:

Assert.assertTrue(
    string.matches("Record with UUID:[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12} inserted successfully.") 
); 

このページ:Regular Expression Test Page for Javaは、さまざまな入力テキストを正規表現で再テストするために使用できます。

+0

提案されたすべてのオプションが機能してくれてありがとうございます。最初のものは余分な '\'を必要とします。 [0-9a-z \\ - ] +にする必要があります。それは親指を与える... :) –

関連する問題