私はsoapUIとgroovyに慣れていないので、誰かが私を助けてくれるかもしれません. このプロパティ定義を使用して一意の ID を生成しようとしました
${=((0..<20).collect{['a'..'z','0'..'9'].flatten()[new Random().nextInt(['a'..'z','0'..'9'].flatten().size())]}.join())}
しかし、この式にはネストされた中かっこが含まれており、それらをエスケープする方法が見つからないため、エラーが発生します。多分誰かが道を知っていますか?
前もって感謝します。
を更新しました。スクリプトを変更したところ、SoapUI のスクリプト ウィンドウで正常に動作するようになりました。
new GroovyShell().evaluate("(0..<20).collect {[\u0027a\u0027..\u0027z\u0027,\u00270\u0027..\u00279\u0027].flatten()[new Random().nextInt ([\u0027a\u0027..\u0027z\u0027,\u00270\u0027..\u00279\u0027].flatten().size())]}.join()"
XML検証が失敗したため、一重引用符をUnicodeコードに置き換えました。
しかし、プロパティの値として使用しようとすると、スローされてエラーになります。
${=new GroovyShell().evaluate("(0..<20).collect {[\u0027a\u0027..\u0027z\u0027,\u00270\u0027..\u00279\u0027].flatten()[new Random().nextInt ([\u0027a\u0027..\u0027z\u0027,\u00270\u0027..\u00279\u0027].flatten().size())]}.join()"}
startup failed: Script183.groovy: 1: unexpected char: 0xFFFF @ line 1, column 136. .flatten()[new Random().nextInt([\u0027a
スクリプトに構文エラーがあると思いますが、プロパティのように使用した場合にのみエラーがスローされます。これを修正する方法を知っている人はいますか?プロパティとして使用できれば、多くの人を幸せにすることができます;)プロパティの名前を使用するだけでよく、スクリプトを呼び出す必要はありません。
を更新しました。(0..<20).collect 部分を削除しましたが、今は問題ありませんが、シンボルが 1 つしか生成されません。だからここのどこかに問題があります。