setId
Vaadin アプリケーション内の自動化された UI テストに多くのツールを使用しています。パフォーマンス上の理由から、本番モードでこの ID を削除したいと思います。そうする良い方法はありますか?
質問する
320 次
1 に答える
1
次のように、現在 Vaadin プロダクション モードで実行しているかどうかを確認できます。
VaadinService.getCurrent().getDeploymentConfiguration().isProductionMode();
そのため、コンポーネント ID をsetId()
メソッドで設定している場合、プロダクション モードでない場合にのみ簡単に設定できます。次に例を示します。
boolean isProductionMode = VaadinService.getCurrent().getDeploymentConfiguration().isProductionMode();
if(!isProductionMode) {
foo.setID(FOO_ID);
}
しかし、このアプローチをまったく使用するかどうかを検討します。Web テスト用の id をいくつのコンポーネントに割り当てますか? 数値が極端に高くない場合、パフォーマンスへの影響は無視できますが、プロダクション モードのチェックでコードが乱雑になります。多くの場合、コードの読みやすさと単純さは、パフォーマンスのマイナー ヒットよりも重要です。
または、コンポーネント ID に依存せず、代わりに既存の情報に依存する xpath クエリを使用して、コンポーネント セレクターの多くを書き直すことができます (カスタム レイアウト、css クラスを使用する場合の「場所」属性など)。親コンテナ内の位置など
于 2015-03-05T15:56:42.417 に答える