私が扱っているAngularJSアプリケーションは現在3つの言語で翻訳されています。私たちが翻訳を処理する方法は、各言語のlocale.jsファイルがあり、各ファイル内にキーと値のペアが存在します。たとえば:セレンと分度器を使って言語ローカリゼーションテストを自動化する
フランス語locale.js
WARNING: "Attention",
SAVE: "Enregistrer",
NEW: "Nouveau",
英語locale.js
WARNING: "Warning",
SAVE: "Save",
NEW: "New",
は、ページ内のすべてがローカライズされているかどうかをテストするために、我々は第四の言語を作成しました(XXXXXX)
。すべてがローカライズされているかどうかをテストするには、言語を(XXXXXX)
に設定し、アプリケーションを実行して、XXXXXX
のみを確認します。
注:私たちはすべてがローカライズされているかどうかをチェックするこのプロセスを自動化したいので、私が最初にテストを自動化するためにセレンや分度器を使用して開始IPアドレスとサーバ側の情報のような
をローカライズする習慣いくつかのものがあります。
私はそれを自動化しようとしていたかのハイレベルな考え方は次のとおりです。
私はローカライズする必要はありませんでした各htmlタグの前にクラスを追加しました。 (class = "notLocalized"
)。その後、DOMからすべてのhtmlコンテンツを取得しました。私はそれを特定の方法で解析しなければならなかった、そして、私は各文字列thats not(XXXXXX
)とそれが(notLocalized
)と呼ばれるクラスを持っているかどうかを調べた。それがこのクラスを持っていない場合、私はテキストがローカライズされている必要があることを知っています。
私の主な問題は、私はDOMから取得したテキストを解析する必要があり、解析方法は各ページに固有のことです。理由は、私が戻ってくるテキストが各ページと異なっているからです。私は私のアプローチにいくつかの他の問題を抱えていますが、これは主なものです。
私の質問は、これはSelenium/Protractorがこれに使用する最良のツールですか?もしそうなら、どのようにして自動ローカライゼーションテストを実装しましたか?
HTMLで 'lang'属性を使用して言語を特定しない理由は何ですか? https://www.w3schools.com/tags/ref_language_codes.asp – HaC
私の問題は言語を決定することではありません。私は自分の言語のローカリゼーションが現在どのように設定されているかを説明していただけで、ローカリゼーションのテストを自動化する方法を見つけようとしています。 ローカライゼーションテストの自動化に役立つlang属性の使用方法をご覧ください。 –