0

setIdVaadin アプリケーション内の自動化された UI テストに多くのツールを使用しています。パフォーマンス上の理由から、本番モードでこの ID を削除したいと思います。そうする良い方法はありますか?

4

1 に答える 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 に答える