• 你好,请问你这个单独把 airtest 拿出来作为一个服务是怎么个做法啊,可以讲下吗?

  • 有具体操作步骤嘛

  • 我也在做,请问你有具体实现吗?

  • 呃呃 这个问题我还没遇到过呢 我这边多次调用 adb 命令没问题的 你检查下你的版本这些 用最新的试试吧 我没遇到过这个问题哦

  • 发一下你的配置参数吧 是不是配置参数不正确呢

  • 这个你可以一直监控到你进入 App,根据情况来使用吧,安装这块的线程你就可以当进入 App 后就关闭掉

  • if flag == False:
    break 这是个开关,在脚本开头 你要先写句 flag = Ture , 这时线程会循环判断 有没有方法里写的那几个弹窗, 当你觉得脚本某阶段不需要线程点击了(安装完成),你就写句 flag = False 线程循环检测到 flag = False 时 ,就停止了

  • 我这个线程不是只为了点一部手机,是为了点掉多不手机的弹窗,而多部手机的弹窗文字都不一样,所以做了判断,判断有就点,没有就下一个判断,异常处理是有时候没点到不至于脚本报错(有的手机会有弹窗时间,10 秒内不点就消失,有时候会错过)。

  • 你用 adb 安装怎么会找不到呢?adb 安装好像有 3 种还是 4 种方式呢,你可以直接从电脑里安装到手机啊
    os.system("adb install -r " + hGoName) gGoName 是 apk 文件在电脑的地址,这只是一种方式哈,当然,很多手机会有弹窗的

  • 用 UI2 来做自动化脚本也可以啊 ,其实个人感觉 UI2 更简单,UI2 连接设备只需要 device 号,连接后用的多线程点击也可以的,UI2 的框架如何使用可以去官方学习下

  • 对 您也可以使用 appium 的 安装函数去安装试试,我这边都可以哎,只是弹窗问题解决就行了

  • 我说的是安装软件时的权限(安装时手机弹窗 “是否允许安装,不是从应用市场下载的。。。等等警告,需要人工确认”),不是安装后首次启动的权限,usb 怎么会无法安装呢?安卓手机不像 iOS 吧,是允许用户自己安装软件的,只不过是要出现 警告/确认弹窗的

  • https://testerhome.com/topics/16067 看看这个方案吧

  • https://testerhome.com/topics/16067 对现在手机来说权限一般靠脚本去点击通过,这篇文章可以看看

  • 有啊 看我写的文章,有用帮点赞吧 https://testerhome.com/topics/16067

  • 我文章中讲了如何解决这个安装权限问题的,uiautomator 的话直接写个线程,循环检查就 ok,线程代码也在评论区给了,appium 有点不同,解决方案自己看文章吧,很详细了

  • 如何启动安装包?不论你的安装包在手机还是电脑都可以用 adb 命令去安装,usb 安装权限问题,我这篇文章就是解决这个的, appium 不能配置自动给软件安装权限,权限是系统的, 同一个安装包在不同手机上包名是一样的

  • 当然是用线程去点击,问题在于用线程去点击得先完成初始化,才能用 click 吧? 而 appium 配置参数里得先指定 App,打开后才算完成初始化,那么打开 App,说明已经安装上了, 实际上初始化安装 App 时,线程根本没法用 appium 的 click 操作,之前大多采用的是另外用 uiautomator 的脚本在 appium 初始化前循环检测点击,这样得启俩服务,编写 uiautomator 的脚本,有点麻烦的

  • 跟方案 4 差不多 不过有点麻烦哦

  • 好的 谢谢 刚开始用这个还不大会 将就看下吧 代码很简单 大家应该能看懂的

  • 这两个是手机与服务端通信用的,这个就属于 appium 自身的需求了,可以采用上树方案 4 去用 uiautomator2 的脚本的脚本循环判断点击,但是有点麻烦,得编写人员会这两个框架,还得搭环境

  • class usb_install_thread(threading.Thread): # 安装确认
    def init(self):
    threading.Thread.init(self)

    def run(self): # 把要执行的代码写到 run 函数里面 线程在创建后会直接运行 run 函数
    usb_install()

    def usb_install():
    while True:
    if flag == False:
    break
    try:
    em = drive.find_element_by_xpath("//android.widget.Button[contains(@text,'继续安装')]")
    if em:
    em.click()
    except:
    pass
    try:
    em =drive.find_element_by_xpath("//android.widget.Button[contains(@text,'允许')]")
    if em:
    em.click()
    except:
    pass
    try:
    em = drive.find_element_by_xpath("//android.widget.Button[contains(@text,'确认')]")
    if em:
    em.click()
    except:
    pass

    这是个 python 的线程,用来判断出现 “允许”“确认” 等弹窗的,因为每个手机的可能不通,但大概就这几种,加判断就可以了