python自动化_自动化篇 | 聊聊 Python 自动化脚本打包成 APK

97432c55d8547956e0b0537472ff1bbc.png

作者丨星安果 来源丨AirPython(AirPython) 9931cf1de718f45004235b609d6e7115.png 之前有读者朋友说 Airtest 官方支持将自动化脚本编译成 APK 直接运行,照着官方提供的文档操作了一遍,发现不少的坑,今天带大家一起来填这些坑。 在开始编写自动化脚本之前,我们首先要下载安装 JDK,并配置 JDK 和 ADB 到环境变量中。 以刷抖音短视频这一自动化操作为例,首先我们使用 Airtest IDE 新建一个 .air Airtest 项目。 和常规自动化操作类似,我们需要借助 ADB 命令拿到抖音 App 的应用包名和初始 Activity,利用 start_app() 方法打开抖音。
package_name = 'com.ss.android.ugc.aweme'activity_name = 'com.ss.android.ugc.aweme.splash.SplashActivity'# 部分手机需要开启模拟点击start_app(package_name,activity=activity_name)
接着拿到屏幕的宽、高数值,利用 swipe() 方法模拟滑动,即可以实现切换视频的操作。
device_attrs  = device()print(device_attrs.uuid)# 获取设备的高度和宽度width, height = device_attrs.get_current_resolution()print(width)print(height)# 开始刷抖音while True:    # 滑动一次    swipe( (width * 0.5, height*3/ 4),(width * 0.5, height / 4),duration=1)    sleep(2)
上面这段代码直接在 IDE 运行,自动化操作能正常运行。 下一步,利用 Firebase 打包脚本,依次点击:Firebase - 打包多个脚本 - 选择目标脚本,等待本地生成一个 apk 文件。 391b82e7622c033cc57579c1d4dc7306.png 使用 adb 命令将 apk 安装到手机上,接着通过 instrument 开启自动化操作。
# 开启自动化任务adb shell am instrument -w com.netease.open.airbase/android.support.test.runner.AndroidJUnitRunner
坑一:运行之后很快就报错了,报 device() 方法在 kivy 中没有实现。 官方文档提到的原生应用的 poco 没法使用,包含 device() 在内的很多方法,虽然属于 airtest 内部的方法,但是打包成 apk 识别不到。 a459e274e94f928860251c4f2e3c69db.png 我们可以将宽度和高度写死,然后再进行滑动操作。
width = 1080height = 2160swipe( (width * 0.5, height*1/ 4),(width * 0.5, height*3 / 4),duration=0.5)
坑二:向上滑动事件处理不当。 测试多台设备后发现,脚本代码生成的 apk 在不同设备上运行结果不一致。 仅上面的向上滑动这一步操作,有些手机当做 长按屏幕 来消费,还有一些手机当做 下拉刷新 来处理。 建议先在 Airtest IDE 中运行,保证脚本的正确性的前提下,再去替换改写不被 apk 识别的部分。 总之,利用 Firebase 打包自动化脚本成 apk 单独运行还不是很稳定,另外一起打包内置的 kivy 库还需要兼容和完善,期待官方下一版本。代码链接: https://pan.baidu.com/s/1TceltqJHnwFouFy3tbxecA 密码:hyaq 如果你觉得文章还不错,请大家点个好看或者分享出去,你的肯定是我最大的鼓励和支持。

ae76ab5dcbb76f79d46c547719f0e38c.png

近期精彩内容推荐:  

c500d9b481973be08f3c12687ad39489.png Python是一门神奇的语言! c500d9b481973be08f3c12687ad39489.png  IntelliJ IDEA 的 2020 ,真的很牛皮! c500d9b481973be08f3c12687ad39489.png  删库跑路真的发生,技术总监干的! c500d9b481973be08f3c12687ad39489.png  2020年Java框架排行榜,谁居榜首?

f516c1f9b425bb0119880c98ade66c9c.png

fa630e92335906a63ad13fdfe0361994.png

在看点这里a19ee1a76fc5305fa0eba81e1e468917.gif好文分享给更多人↓↓

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值