• 0
  • 0
分享
  • appium小程序自动化测试——软件测试圈
  • 恬恬圈 2021-02-02 13:57:56 字数 1412 阅读 1561 收藏 0

配置要求:

小程序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

4.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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 购物车对于电商系统,还是比较重要的一个功能模块,看上去比较简单,但是关于这个功能的测试分析还是不是那么轻松的,因为它真的不仅仅需要功能测试,还需要其他技术的支持才能做好。功能上:购物车是否需要登陆才能进入;账号退出后,购物车添加的内容是否还在;购物车页面是否能够显示添加的商品的详细信息(商品名称、链接、数量、单价、总价);一条商品的单价、数量、总价的计算是否正确;多条商品是否能够以列表显示;多条商品同时显示,能否在相同的位置显示相同的数据;购物车能够返回商品首页继续浏览;能够移除购物车中的商品;购物车能够调整商品的数量;限购商品数量调整时能不能超过限购数量;没有限购要求的商品,添加数量能不能超...
            0 0 1708
            分享
          • 一、web页面元素定位工具介绍1、打开google浏览器,按F12进入开发者模式,如下图:2、用鼠标点击下图红色框中的箭头——然后鼠标移动到web页面的元素上(此处为百度框),会自动定位到对应的html代码,如下图:二、web页面元素的8种定位方法:1、通过元素的id属性来定位元素——id是唯一标识(每个id都是不一样的)driver.find_element_by_id("kw")1 from selenium import webdriver 2 driver=webdriver.Chrome() 3 driv...
            10 10 2906
            分享
          • 学习内容:数据库应用系统(DBAS)性能指标:数据操作响应时间(数据访问响应时间);系统吞吐量:指系统在单位时间内可以完成的数据库事务或查询的数量;允许并发访问的最大用户数;每TPS代价值。数据库管理系统(DBMS)系统需求分析的常用建模方法一、DFD(数据流图,Data Flow Diagram)DFD图采用自顶向下逐步细化的结构化分析方法四种基本元素:数据流、处理(对数据的加工)、数据存储、外部项数据流:指处理功能的输入输出,用→表示;数据存储:数据保存的地方,表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等;处理:对数据的逻辑处理,也就是数据变换,用来改变数据值;外部项(外...
            0 0 1070
            分享
          • 测试用例测试用例的特性1、有效性:测试用例的能够被使用,且被不同人员使用测试结果一致2、可重复性:良好的测试用例具有重复使用的功能。(回归测试)3、易组织性:好的测试用例会分门别类地提供给测试人员参考和使用(功能、性能、易用分类编号)4、清晰、简洁:好的测试用例描述清晰,每一步都应有相应的作用,有很强的的针对性,不应出现一些无用的操作步骤。5、可维护性:由于软件开发过程中需求变更等原因的影响,常常对测试用例进行修改、增加、删除等,以便测试用符合相应测试要求。1:测试用例包含什么类容用例编号,所属模块,用例描述,前置条件,优先级,输入数据,操作步骤,预期结果,实际结果,测试人员,测试时间2:测试...
            0 0 3185
            分享
          •   到底什么是接口呢?  我们先抛开IT层面的接口测试来说。回到生活中,我们想一下在生活中,我们有一些什么接口?生活中的接口就有很多。  比如说:插座、水龙头、转接头、充电器、usb、电源。  其实这个东西并没有那么难理解,接口在我们生活中间随处可见,我们想一下这些生活中的接口,他们的作用是什么?  比如说插座的话,是用来传电的,水龙头是来传水的。  转接头是用来拼接两头,然后进行物质的传输。  他们都有一个共同的特点,都是用来连接两个设备甚至是多个设备,并且进行物质之间的一个传递。  我们在生活中间的接口,就可以自己总结成一个这样简单的概念,对不对?  那其实,我们讲的软件测试中的接口和我们...
            0 0 595
            分享
      • 51testing软件测试圈微信