• 13
  • 14
分享
  • appium小程序自动化测试——软件测试圈
  • 北极 2021-01-21 15:12:33 字数 1796 阅读 3106 收藏 14

配置要求:

工具

android:5.0以上

uc-devtools

adb

Chromedriver

手机环境配置

1.打开开发者模式(不懂的就百度),打开usb调试和安装

4.jpg

2.在windows中打开命令行,输入adb devices,可以看到手机驱动就行了

5.png

uc-devtools配置

1.下载好直接安装就行了,如果安装过程中缺少什么东东文件的话,就在C盘全局搜索出来复制到安装uc-devtools的文件夹就行了

2.安装完成后,需要在设置中选择本地资源

6.jpg

3。打开我们自带的浏览器,输入百度的网址,就能够看的到我们的页面了,点击inspect查看H5页面就行了(如果看不到的话,可能是浏览器内核问题)

7.jpg

8.jpg

Appium配置

1。我们可以看到浏览器的版本,然后我们需要下载对应的Chromedriver的版本,下载好后解压放到自己喜欢的文件夹下面即可

9.jpg

10.jpg

11.jpg

启动后,能够看到配置的chromedriver的配置即可

小程序X5内核浏览器

环境配置

1.使用微信浏览器进入debugx5.qq.com,勾选调试功能,如果进入页面不是这个X5调试的话,先跳过

1.jpg

2.如果进入的不是x5内核,先进入debugmm.qq.com/?forcex5=true

2.jpg

3.jpg


获取小程序的进程和名字

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

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

12.jpg

代码模块

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)


作者:qq_42956206

原文链接:https://blog.csdn.net/qq_42956206/article/details/109328279#comments_14691026

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   摘要:性能测试通过自动化的测试工具模拟正常、异常场景来对系统的各项性能指标进行测试。通过性能测试可以分析一个系统能力、瓶颈、关键问题等。本文结合直播平台的部分场景,使用开源SRS-Bench工具对直播并的4个场景进行压力测试,测试直播平台的基础能力。  一 、性能测评工具简介  性能测试范围较广,包含负载测试、压力测试等,负载测试可以确定在满足性能指标情况下,系统能承受的最大负载,压力测试可以确定在什么负载条件下系统性能处于失效状态,获得系统能提供的最大的服务级别,一般系统上线前均会进行性能测试。目前,较常用的性能测试工具分为商业测试工具、开源测试工具,较为常用的是Loadrunner及J...
            0 0 10711
            分享
          • 软件测试建设原则,是一个永远说不完的话题,后续会以一个体系的形式更新。     ---Tynam 2021/01/08软件测试行业经过快速的发展,至今已经沉淀了许多门类,各式的应用。如果要研发一款产品,那么测试是一项必不可少的工作。从最初的功能测试、到现在的自动化测试、性能测试、安全测试,以及近两年萌芽的大数据测试、机器测试,发展迅速,不同的团队应用的也各尽百色,其中的文档、人员管理方式方法也姿态万千。那么对于不同项目,不同管理的测试安排其中肯定是有必然的联系,遵循着某种原则,这种必然联系到底是什么呢,起止现在也没有一个人真正阐述过。在此,笔者暂且称之为 “why...
            14 15 2052
            分享
          •   本文针对自动驾驶汽车道路测试相关内容进行了梳理,仅供参考。  首先大家最想知道的应该就是公共道路测试的时候会用到哪些设备?硬件结构是什么样的?以下展示了路测车载设备的拓扑结构:  1.一般采集那些数据?  ①使用VX1000设备(如VX1135等)配套的上位机软件CANape通过CAN总线走以太网采集域控内部数据、各种总线数据(FlexRay、底盘、前雷达、角雷达等)以及参考摄像头等。  ②视觉感知数据。  视觉感知需要采集的数据包括WebSocket和原图数据,其中WebSocket通过ADCU的百兆网口接到工控机,直接用exe可执行软件来采集即可,原图通过ADCU的USB接口直接落盘到...
            0 0 3712
            分享
          • 在以往性能测试中,通常施压机的硬件资源不会成为压力瓶颈,但是在多任务并行的场景中,如果一个任务占用当前机器资源过多,会影响其他任务执行。或者当前用例本身存在问题,导致性能无法进一步提升,影响了性能测试执行。根据以上场景,如果能从监控工程上得到解决自然是最好的。可以实时监控施压机和施压进程的CPU占用、内存使用、GC清空。但是,重点来了,并不是总能拥有一套完美的监控系统。这个时候,就需要自己手动解决一些痛点。经过查阅资源,最终将方案锁定在java.lang.management.ManagementFactory这个类,看名字和路径大概能猜个七七八八了。以上我提到的信息都可以调用这个类的API获...
            0 0 1082
            分享
          •   Http请求模拟  1、新建线程组  操作:鼠标右键测试计划 -> 添加 -> Threads(Users) -> 线程组 -> 修改测试计划名称新建线程组  2、添加取样器HTTP请求  操作:鼠标右键线程组 -> 添加 -> Sampler -> HTTP请求 -> 填写请求参数添加取样器请求参数  3、开始Http请求  a. 添加察看结果树监听器,方便查看请求结果。  操作:**鼠标右键线程组 -> 添加 -> 监听器 -> 察看结果树察看结果树  b. 点击**工具栏上单击启动按钮(绿色箭头)启动测试计划。开始验证...
            0 0 1159
            分享
      • 51testing软件测试圈微信