1

改札ベースの Web アプリケーション用に、Selenium を使用してフロントエンド テストを自動化しようとしています。- 異なる言語 - 言語プロパティ ファイル (submit.signup.form=Submit) とそれらを使用する wicket メッセージ () - wicket によって生成される HTML ページ (input type:button と value:Submit)

それを使ってテストケースを自動化すると、正しく動作します。問題は、誰かがプロパティ ファイルを fi submit.signup.form=Send に変更しようとしたときに始まります。その場合、テストを成功させるために、すべての Selenium テストを調整して正しいラベルを再度確認する必要があります (これは実際にはその例には当てはまりませんが、エラー メッセージの場合は問題になります)。

今質問:

プロパティキーを生成されたhtmlファイルに/に入れるためにウィケットを作成する方法はありますか?

望ましい利点: Java を使用して、Selenium にプロパティ ke を取得させ、テキストのプロパティ ファイルをチェックさせることができます。そうすれば、プロパティ ファイルのラベルを変更しても、Selenium テストにはまったく影響がなく、処理がはるかに簡単になります。

どんな答えにも感謝します。:)

よろしくお願いします

4

2 に答える 2

0

デフォルトでは、Wicket は開発モードで開始します。開発モードでは、ウィケット タグが表示されます。 IDebugSettingsを確認する必要があり ます。ただし、Java コードから収集されたプロパティは表示されませんが、キーを属性として追加できます。たとえば、

new Label(getString("propertieKey")).add(new AttributeAppender("key","propertieKey"))
于 2013-01-21T23:57:37.273 に答える
0

実際に行うのは非常に簡単です。

アプリケーションの init メソッドに入れます。

    getResourceSettings().getStringResourceLoaders().add(0, new NoResourceLoader());

NoResourceLoader を実装します。

public class NoResourceLoader implements IStringResourceLoader {

@Override
public String loadStringResource(Class<?> clazz, String key, Locale locale, String style, String variation) {
     if ("noProperties".equals(style)) {
         return key;
     }
     return null;
}

@Override
public String loadStringResource(Component component, String key, Locale locale, String style, String variation) {
     if ("noProperties".equals(style)) {
         return key;
     }
     return null;
}
}

スタイルが noProperties に設定されている場合、このリソース ローダーはキーを返すだけです。null が返されるため、ローカライザーは他の呼び出しに対して次のリソースローダーを試行します。

スタイルを「noProperties」に設定するには、パラメーターを使用してアプリケーションを呼び出すときに、セッション オブジェクトにスタイルを設定するパラメーター チェックをページのコンストラクターに追加することをお勧めします。

public BasePage(PageParameters pp) {
    String style = pp.get("st").toOptionalString();
    if (style != null) {
        getSession().setStyle("noProperties");
    }

このパラメーター セットを使用して最初の URL を呼び出すだけで十分です。その後、html の値ではなくプロパティ キーを使用してセッション全体を実行する必要があります。アプリが本番環境で実行されているときは、このチェックも無効にします。

于 2013-01-23T13:36:37.837 に答える