亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Android cts all pass 全攻略

系統 1843 0

android CTS ! Goodbye fails ! Goodbye timeout !

?為什么要進行cts測試

Android兼容性測試(CTS)和連帶的兼容性定義文檔(CDD),是一個確保終端設備與特定版本Android兼容的自管理程序。CTS測試集包含大約24,000個在Android設備上運行的測試用例,這些用例分別針對電話、圖形、相機、GPS、觸摸屏、無線網等功能。Google針對每個主要Android版本公布了CDD文檔,其中指出了對CTS中每類測試的具體要求。通過CTS測試是訪問Android軟件市場的 必要條件 之一。通過CTS測試之后便允許在設備上使用Android商標,它標志著該設備能夠良好 兼容 軟件市場中的數十萬應用程序。

?常見問題和解決方案

我在這里不寫怎么執行CTS,-p 是什么意思 -t是什么意思,我總結的是在執行 cts_host > start --plan CTS 之后,想all pass 的那些有營養的東西。

? testcase timeout

測試某個testcase的時候一直出現 “........”,遲遲沒有pass或者fail,等良久出現一個血淋淋的timeout,很讓人傷心。有不少人笑嘻嘻的以為timeout 挺好,至少它不是fail。在我看來timeout 比 fail 還恐怖,因為它連進行測試到底是pass還是fail的權利都沒有。想不被硬件設備廠商笑話,必須0 timeout ,然后再爭取0 fail 。

timeout多數都是由于這個錯誤造成的:

Exception in thread "Thread-XX" com.android.ddmlib.ShellCommandUnresponsiveException

at com.android.ddmlib.AdbHelper.executeRemoteCommand(AdbHelper.java:408)

at com.android.ddmlib.Device.executeShellCommand(Device.java:276)

at com.android.cts.TestDevice$1.run(TestDevice.java:1718)

解決方案:

這個錯誤是由于CTS和SDK版本不匹配造成的。倘若用android2.2 SDK 和 android2.2 cts -r6 還是出現了這個問題,那么編譯自己工程的sdk (在整體m后,再make sdk),配套官方的cts一起,就可以百分百解決這個問題了。

必須要注意的是,不要用自己的工程代碼編譯出來的cts(make cts),因為可能編譯出來的不是最新的(通常是r1版本)。而google提供的才是最新的,而硬件設備廠商都會信賴最新版本的cts的測試結果。

?Restarting device ...Restarting ADB...

板子執行幾個測試項就停下,讓人很郁悶

CTS_INFO >>> Max ADB operations reached. Restarting ADB...

CTS_INFO >>> Restarting device ...
Device(xxxxxxxxxxxxxxxxxxxxxx) disconnected
Test stopped.
Device(xxxxxxxxxxxxxxxxxxxxxx) connected

解決方案:

其實重啟adb和板子是正常現象,如果不重啟會影響他們的正常工作。但是這樣頻繁的重啟,很影響工作效率。

我們可以控制測試中重啟的頻率:

修改android-cts/repository/host_config.xml中的 reboots value:

<!-- Number of tests executed between reboots. A value <= 0 disables reboots. -->
<IntValue name="maxTestCount" value="200" />

5000是我測試比較合理的數字,如果不跑全部的cts項23700個test的話,數量不多可以修改為-1,禁止重啟。

如果數量過多,則還是重啟的好,否則中途adb會卡死停止test。自動化測試,你不會一直盯著它的對吧?

?java.io.IOException: sad result from adb: closed

倘若中途出現:

java.io.IOException: sad result from adb: closed
00:47 E/ddms: ADB rejected shell command (am instrument -w -e bundle true android.tests.devicesetup/android.tests.getinfo.DeviceInfoInstrument): closed

CTS_ERROR >>> Failed to execute shell command am instrument -w -e bundle true android.tests.devicesetup/android.tests.getinfo.DeviceInfoInstrument on device 0xxxxxxxxxxxx

java.io.IOException: sad result from adb: closed

解決方案:

別擔心,重啟一下板子就好了。

?其他fail

因為各個項目差異,所以fail項不同,拋開硬件差異所決定的fail,還有系統工程師為了掩飾別的bug而新增的cts fail bug,我們還需要注意的是:

1.Net相關的testcase ,記得開wifi \ 3G,保持網絡聯通

2.SMS相關的testcase,記得插SIM卡

3.當I2C上某個設備的testcase沒有過,試試禁掉I2C上其他的sensor服務,單一測試,也許會有意外收獲

如果你還深陷cts fails 困擾 ,歡迎交流。

Android cts all pass 全攻略


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲乱码视频在线观看 | 欧洲性大片xxxxx久久久 | 精品国产97在线观看 | jizzjizz女人中国 | 国产精自产拍久久久久久 | 国产欧美一区二区三区免费看 | 亚洲 激情| 国产精品久久久久久久福利院 | 欧美成人一区二区三区在线视频 | 你懂得国产 | 久久久久久国产精品mv | 久久99精品久久久久子伦小说 | 亚洲国产午夜精品理论片的软件 | 亚洲va在线va天堂成人 | 日本伊人| 中文字幕 国产精品 | 欧美精品香蕉在线观看网 | 中文字幕免费观看视频 | 免费人成年短视频在线观看网站 | 久久这里有精品视频 | 91精品国产91久久久久久麻豆 | 激情一区二区三区成人 | 中文国产日韩欧美视频 | 国产网红在线观看 | 国语国产真人对白毛片 | 狠狠久久久久综合网 | 国产精品永久免费视频观看 | 欧美性视频在线 | 曰曰鲁夜夜免费播放视频 | 黄黄网站| 日韩欧美黄色片 | 欧美在线视频免费 | 国产高清精品久久久久久久 | 欧美成人综合 | 久热996re这里有精品 | 色偷偷亚洲精品一区二区 | 深夜网站免费 | 色五月天天 | 成人在线午夜 | 国产色婷婷精品综合在线观看 | 老子影院午夜伦不卡 |