IOS 多語言自動化測試 - 如何自動切換運行語言環境
最近一直在研究IOS在多語言環境下的自動化測試,其中一個重大的問題就是如何在自動化測試的時候能夠自動切換語言,
比如某個軟件支持10個國家的語言,如果不能自動的切換語言,那么在測試的過程中就需要手動切換10次語言,效率實在太低了
經過研究通過參考一個開源項目,大約的摸索出了答案,直接公布給需要的人
instruments這個工具提供了命令行的接口,我們可以通過命令行在程序啟動的時候指定程序的語言
給兩個例子
例子A - 在ios模擬器中運行一個app,指定語言為英語
instruments -t Desktop/sample1.tracetemplate -w "iPad - Simulator - iOS 7.1" "/Users/username/Library/Developer/Xcode/DerivedData/SOTC-LocalizationExample-dlqskvetzmqvcnbrpwdtldgtpubp/Build/Products/Debug-iphonesimulator/SOTC-LocalizationExample.app" -AppleLanguages "(en)" -AppleLocale en |
例子B - 在ipad真機中運行一個app,指定語言為德語
instruments -t Desktop/sample2.tracetemplate -w ac5c5801UDIDf2ca5e9e88a9db <app_name, e.g. QuickEdit> -AppleLanguages "(de)" -AppleLocale de |
其中我在末尾加了-AppleLanguages "(lan)" -AppleLocale lan來通知instruments把軟件顯示成不同的語言,很多人會疑問為什么有-AppleLanguages和-AppleLocale兩個參數
目前我測了幾個軟件,發現-AppleLanguages還是控制軟件語言顯示的主要值。換句話說,如果只有-AppleLocale沒有-AppleLanguages,我測試的這幾個軟件都沒有變語言。
希望搜到這篇文章的同學能有所啟發。
posted on 2014-05-16 11:03 順其自然EVO 閱讀(431) 評論(0) 編輯 收藏 所屬分類: android