vieyahn2017 / iBlog

44 stars 0 forks source link

Airtest #395

Open vieyahn2017 opened 1 month ago

vieyahn2017 commented 1 month ago

https://github.com/AirtestProject/Airtest/blob/master/README_zh.md

https://blog.csdn.net/xc_zhou/article/details/120730341 [1054]Airtest的探索使用

vieyahn2017 commented 1 month ago

https://blog.51cto.com/u_12831/6987187 手机执行python脚本 手机跑python脚本 AirtestIDE提供了完整的自动化工作流程支持:录制脚本->真机回放->生成报告。其中最吸引人的莫过于支持Python语言和可以在手机上进行自动化模拟操作这两点了。 以刷抖音短视频这一自动化操作为例, 首先我们使用 Airtest IDE 新建一个 .air Airtest 项目。我们需要借助 ADB 命令拿到抖音 App 的应用包名和初始 Activity,利用 start_app() 方法打开抖音。 接着拿到屏幕的宽、高数值,利用 swipe() 方法模拟滑动,即可以实现切换视频的操作。 下一步,利用 Firebase 打包脚本,依次点击:Firebase - 打包多个脚本 - 选择目标脚本,等待本地生成一个 apk 文件 使用 adb 命令将 apk 安装到手机上,接着通过 instrument 开启自动化操作。 #开启自动化任务 adb shell am instrument -w com.netease.open.airbase/android.support.test.runner.AndroidJUnitRunner 坑一:运行之后很快就报错了,报 device() 方法在 kivy 中没有实现。 官方文档提到的原生应用的 poco 没法使用,包含 device() 在内的很多方法,虽然属于 airtest 内部的方法,但是打包成 apk 识别不到。 坑二:向上滑动事件处理不当。 测试多台设备后发现,脚本代码生成的 apk 在不同设备上运行结果不一致。 仅上面的向上滑动这一步操作,有些手机当做 长按屏幕 来消费,还有一些手机当做 下拉刷新 来处理。 建议先在 Airtest IDE 中运行,保证脚本的正确性的前提下,再去替换改写不被 apk 识别的部分。

https://www.cnblogs.com/wutaotaosin/articles/10623137.html airtest Firebase打包坑点 也是提到了 adb shell am instrument -w com.netease.open.airbase/android.support.test.runner.AndroidJUnitRunner 将打包成功的测试脚本apk,与被测应用同时安装到手机上 然后用adb指令启动测试脚本 adb shell am instrument -w com.netease.open.airbase/android.support.test.runner.AndroidJUnitRunner (所以,adb shell断开之后,这个apk也就无法使用了吧?)

vieyahn2017 commented 1 month ago

对比有个Appium 也是用的selenium/webdriver那一套

https://zhuanlan.zhihu.com/p/144737398

vieyahn2017 commented 1 month ago

https://blog.csdn.net/yangaiyu/article/details/130886250 adb 通过wifi连接手机 https://blog.csdn.net/Vermouth_00/article/details/131088485 adb无线连接设备进行调试操作(Wi-Fi连接)

vieyahn2017 commented 1 month ago

https://github.com/waahah/waahahSite/blob/ae5618cb0e2ac347603edcb65154197e8cad3aec/source/_posts/test_one_airtest_poco.md https://github.com/waahah/waahahSite/blob/ae5618cb0e2ac347603edcb65154197e8cad3aec/source/_posts/test_two_airtest_introduce_script.md https://github.com/waahah/waahahSite/blob/ae5618cb0e2ac347603edcb65154197e8cad3aec/source/_posts/test_3_poco_introduction.md https://github.com/waahah/waahahSite/blob/ae5618cb0e2ac347603edcb65154197e8cad3aec/source/_posts/test_13_Selenium.md https://github.com/waahah/waahahSite/blob/ae5618cb0e2ac347603edcb65154197e8cad3aec/source/_posts/test_14_run_script_ideairpy.md https://github.com/waahah/waahahSite/blob/ae5618cb0e2ac347603edcb65154197e8cad3aec/source/_posts/test_15_useCommand_runScript.md https://github.com/waahah/waahahSite/blob/ae5618cb0e2ac347603edcb65154197e8cad3aec/source/_posts/test_17_airtest_most_long_learn.md https://github.com/waahah/waahahSite/blob/ae5618cb0e2ac347603edcb65154197e8cad3aec/source/_posts/test_18_airtest_api_introduct_noe.md https://github.com/waahah/waahahSite/blob/ae5618cb0e2ac347603edcb65154197e8cad3aec/source/_posts/test_19_airtest_api_introduct_two.md https://github.com/waahah/waahahSite/blob/ae5618cb0e2ac347603edcb65154197e8cad3aec/source/_posts/test_22_poco_all_usually_use_api_function.md https://github.com/waahah/waahahSite/blob/ae5618cb0e2ac347603edcb65154197e8cad3aec/source/_posts/test_26_airtest_selenium_fast_battle.md

i fork it https://github.com/vieyahn2017/waahahSite