Android App Crawler
目前僅針對以下功能進行查找
- 可以自行判斷目前activity有哪些可以interact
- 自行與這些interactable的view進行interact,不管是DFS或是BFS,反正就是全部都互動就對了
比較常見的
- App Crawler 123 - 無法使用
- seveniruby/AppCrawler 456789 - 無法使用
- zhangzhao4444/Maxim - 無法使用
- Eaway/AppCrawler
- isonic1/Appium-Native-Crawler
根據Paper Related Work
- Stoat :::info Ting Su, Guozhu Meng, Yuting Chen, Ke Wu, Weiming Yang, Yao Yao, Geguang Pu, Yang Liu, and Zhendong Su. 2017. Guided, stochastic model-based GUI testing of Android apps. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2017). Association for Computing Machinery, New York, NY, USA, 245–256. https://doi.org/10.1145/3106237.3106298 ::: 詳細的說明(包含Demo影片、比較的工具、測試的App),都可以參考 https://tingsu.github.io/files/stoat.html
-
UI/Application Exerciser Monkey - 不會採用
這是上一篇所比較的對象之一,可以想像成一個猴子正在對一個手機上的App進行隨機互動,可能包含簡單的click, double click, long click或是swipe等等
1
$ adb shell monkey -p com.music.spotify -v 50000
最後面的數字代表隨機丟出多少的event給特定的App
- a3e - 年代久遠不採用 也是第一篇的比較對象之一
- Sapienz - 無法使用 也是第一篇的比較對象之一
- APE - official webpage / APE - github - github star太少且年代久遠不採用 這是第一篇有提到的工具之一
- Fastbot Android - 可採用 這是前一個APE官網有提到的工具,而且開發時間還蠻近的,github star也很多,也有CSDN教學
- Droidbot - 可能採用 :::info Li, Y., Yang, Z., Guo, Y., & Chen, X. (2017, May). Droidbot: a lightweight ui-guided test input generator for android. In 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C) (pp. 23-26). IEEE. ::: 年代有點久遠,但網路上的教學也蠻多的,官網也有提供範例
- Androidenv - 可能採用 :::info Toyama, D., Hamel, P., Gergely, A., Comanici, G., Glaese, A., Ahmed, Z., … & Precup, D. (2021). Androidenv: A reinforcement learning platform for android. arXiv preprint arXiv:2105.13231. ::: 年代較近,也有教學
實驗的來源以及標準
如果僅僅是要app本身是開源的可以從F-Droid當中去找,這個網站就是一個免費的Google Play Store,但是我要找的除了是app本身開源,後端本身也要開源,k因為這樣我才知道後端的URL有多少,如果想要知道有哪些可能可以拿來實驗的App,可以看Guided, stochastic model-based GUI testing of Android apps.
這一篇論文(就是前面提到的第一篇)
透過CodePilot幫我找
- awesome-appwrite
-
FoodMagic:
這是一個使用 Flutter 和 Appwrite 構建的應用程式
-
ao:
這是一個使用 Ionic 和 Appwrite 構建的待辦事項應用程式
Reference
-
[利器 AppCrawler 自動遍歷測試工具實務(一)](https://juejin.cn/post/7194260503743430715)