(一)昨天电脑卡死, 就重装了一下电脑,重新配置了 app自动化测试所需要的环境之类的, 然后死活跑不了代码,还提示session 为0, 就是因为项目文件是以前用的虚拟环境搭建的, 重装后,这个旧项目定位不了pytest

那么我就用本地环境重新建立一个项目, 并复制黏贴过去,但是依然定位不了pytest , 我就手动指定了python解析器的位置,
但是依然运行出错如下
在这里插入图片描述
然后根据错误信息各种百度, 更换了pytest版本,
在这里插入图片描述
在这里插入图片描述
还提示少了一个 convert参数 ,

此时用pycharm 的命令行终端执行单个测试用例,会提示找不到
在这里插入图片描述
然后猜测是没有那个参数导致的, 所以我在项目根目录下新建了一个conftest.py文件 , 里面什么也不写

此时在终端用pytest 是可以运行代码了, 但是全部脚本都是eeror .

那么此时可以怀疑是配置的问题了.

这时候,回想一下, 为什么以前能够跑的项目现在跑不了?

(二)项目环境没有变, 变的是什么?
运行脚本的设备变了, 之前我用的是雷电模拟器和安卓6.0的一部安卓旧手机,
而我现在用的是安卓八的新手机,由于电脑卡死直接重装系统了,只测试了这个安卓八是不是adb 命令能够连接上, 并且用 adb install apk_path 就把这个新手机的配置信息写进项目里了.

那么如何排错?
既然 adb 命令没有问题, 能够安装 apk的包, 那么就试着写一个脚本, 用appium来对原生app的控制, 比如, 用 appium实现对 手机自带的设置 里面进行点击, 先手动打开这个设置, 用 在这里插入图片描述
获取设置 的 包名和启动名, / 前面是包名, 后面是启动名,

然后通过脚本启动设置, 并在设置里面随便点击一下,
发现都没问题.

然后把包名和启动名换成项目里操作的app的包名和启动名,
结果发现运行就直接报错,

上网百度一查, 就是Appium1.9不支持安卓7.0以上, 所以
只能打开安卓8.0的原生app , 第三方的都操作不了, 一连接就出错

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐