解决appium安卓自动化测试时安装app需要手动允许

安卓6.0之上,手提式有线电电话机对于权力难点又加快了一步。基本市集上能看出的无绳电话机,安装app时都急需手动允许,除非您给了有的用到市集活动安装的权位。

近来直接在商讨AP端自动化,稍微搞出了点头绪,稍微总括分享一下,款待大咖们商量指正

appium使用的是adb install来设置使用的,手动实行adb install安装使用时也会弹窗。那么这些题目怎么解决吧?

首要依附python自带unittest框架,报告信任HTMLTestRunner输出

1. root到原生系统

劣势:1.有时髦未到位数据和用例分离

2. 手动尝试先把包push到手机上,再pm install

注释掉appium安装:

文件路线:/usr/local/lib/node_modules/appium/lib/devices/android/android.js

//this.uninstallApp.bind(this)

//this.installAppForTest.bind(this)

下一场本身写一套install/uninstall的主意,每一回试行case集前调用三回。

切切实实能够参照那篇作品:install/uninstall的方法

           2.没有log输出

3.线程减轻

因为appim在运维时会先检查app有未有安装,假如设置成功就不会再去安装。前提是您曾经设置了"noReset": true。

搞五个线程,三个承担install app,七个承受发送adb点击事件。一方面设置一边防检查测是或不是有弹窗。

import time

import os

from threading import Thread

PATH = lambda p: os.path.abspath(

os.path.join(os.path.dirname(__file__), p)

)

def installApp():

os.popen("adb install " + PATH('../config/app_release.apk'))

def inputEvent():

time.sleep(5)

os.popen("adb shell input tap 785 1280")

def install():

t1 = Thread(target=installApp)

t2 = Thread(target=inputEvent)

t1.start()

t2.start()

if __name__ == '__main__':

t1 = Thread(target=installApp)

t2 = Thread(target=inputEvent)

t1.start()

t2.start()

自身用了第二种艺术完美消除这一个主题素材。


原创,转载请申明出处。

           3.并未马到成功用例推行进程中对手提式有线话机状态的实时监督检查

完全框架主要分为三局地:

1.Public.py 至关重要用于编写公共措施,与事务逻辑非亲非故,如swpie、screenshot等公共艺术

2.runtest.py 生死攸关用以跑测量检验用例,并出口Html报告

3.test_xxx.py 主假如独立的种种测验用例

4.screenshot用以贮存截图

public.py 首要如图所示:

runtest.py 首要如图所示:

将test_xxx import进去就足以施行,同有时间也支撑单独case独立运营,不会输出报告

以上是自家一段时间的求学计算,招待各位大拿商议指正,同不时候多多提出创新意见

本文由明仕msyz手机版发布于家居装修-蜗牛装饰,转载请注明出处:解决appium安卓自动化测试时安装app需要手动允许

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。