appium小程序自动化测试

2 篇文章 0 订阅
1 篇文章 0 订阅

配置要求:

基本环境搭建
小程序X5内核浏览器

环境配置

1.使用微信浏览器进入debugx5.qq.com,勾选调试功能,如果进入页面不是这个X5调试的话,先跳过
在这里插入图片描述
2.如果进入的不是x5内核,先进入debugmm.qq.com/?forcex5=true
在这里插入图片描述
在这里插入图片描述

获取小程序的进程和名字

1.我们先使用微信进入一个小程序,比如我这边进入BOSS直聘(进入之前尽量把所有的程序都杀死,方便我们找到小程序)

adb shell dumpsys activity top | findstr ACTIVITY	#获取正在运行的程序
adb shell ps pid	# pid 从获取运行中的程序找到id

在这里插入图片描述

代码模块


desired_caps = {
    "platformName": "Android",

    # 键盘设置
    'unicodeKeyboard': True,    # 屏蔽软键盘
    # 'resetKeyboard': True,

    "platformVersion": "10",
    "deviceName": "bb03a20",
    "noReset": True,
    "appPackage": "com.tencent.mm",
    "appActivity": "com.tencent.mm.ui.LauncherUI",
    "recreateChromeDriverSession": True,
    # adb shell dumpsys activity top | findstr ACTIVITY    取出小程序进程id
    # adb shell ps pid 通过id获取进程名字
    "chromeOptions": {"androidProcess": "com.tencent.mm:appbrand0"},  # 小程序的进程名称
    "browserName": "",		# 科教书说必须要有我实践没有也行,官网解释:要自动化的移动网络浏览器的名称。如果要自动执行应用,则应为空字符串。大意:如果执行手机浏览器的话,就放上浏览器名字,如果是内嵌H5的话,就空字符串;
    "automationName": "UiAutomator2"
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
# 进入小程序步骤省略。。。

# 获取上下文
cons = driver.contexts
print(cons)	#打印上下文
# 切换上下文到最后一个,PS:打开小程序后可能会出现很多个上下文,随便进一个都可以
driver.switch_to.context(cons[-1])
# 获取窗口句柄
hans = driver.window_handles
# 默认的句柄不是我们的小程序,我们需要切换窗口句柄
driver.switch_to.window(hans[-1])
# 切换成功后,就打印一下页面看看是不是我们的小程序,不是的话要么上下文切错了就是句柄切错了
print(driver.page_source)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值