最近搞自动化测试,随便拿了个手机,结果一直报错
机型是小米9。打开开发者模式、USB调试后,连接电脑,准备跑一下自动化脚本。但是在pycharm中点击run后,出现报错,报错code:255,提示“Requires permission android.permission.WRITE_SECURE_SETTINGS”,报错详情如下:
从上图可知,提示打开android 安全设置
解决方案:打开android安全设置
步骤如下(需先插入SIM卡):
点击小米手机 设置->更多设置->开发者选项->点击“USB调试(安全设置)
image
打开小米手机USB调试(安全设置)功能后,运行脚本成功安装Appium Settings和Unlock,并启动app
这么麻烦,我赶紧换了台手机来测试。
在用selenium在mac上跑的时候,又出了个这样的错:
macOS Catalina(10.15)解决阻止程序运行“macOS无法验证此App不包含恶意软件
默认情况下,macOS Catalina的应用程序,必须交由苹果进行一系列安全认证,否则会在默认情况下被阻止运行。未经过安全认证的应用运行的时候,会弹出如下提示
macOS无法验证此App不包含恶意软件
这个功能很早就已经引入了,只是在macOS Catalina系统上进行了增强,这个功能对于普通用户来说还是很不错的,能帮助用户规避恶意软件。
但是对于开发者来说,简直是灾难性的,大量的开发工具是没办法逐个验证的。
苹果官方给出的解决方案在 Mac 上安全地打开应用是按住Control键点按应用, 然后打开,这样会把应用增加到白名单中许可执行。
对于开发者来说,这个方案也是不可行的,仅仅是Android的NDK上的编译工具,就是几十上百的数量,这样操作下来,一两个小时就过去了。
对于开发者来说,比较简单的办法就是禁用Gatekeeper,执行如下命令:
$ sudo spctl --master-disable
下面图片对比执行命令前后,安全性与隐私
界面上显示的差异:
默认的安全性与隐私界面的选项
禁用Gatekeeper后安全性与隐私界面选项
不要怕坑多,从坑里爬起来,继续前行。