史上最全最新微信小程序自动化教程,看过的都点赞了

这篇具有很好参考价值的文章主要介绍了史上最全最新微信小程序自动化教程,看过的都点赞了。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

微信小程序作为现在流行的一种应用载体,很多小伙伴都有对其做自动化测试的需求,由于腾讯系QQ、微信等是基于腾讯自研X5内核,不是谷歌原生webview,所以调试会有些许差异(现在很多app产品也开始流行采用X5内核作为其内嵌web浏览服务)。

需要注意的是X5内核只支持手机,模拟器是不支持的。

我们的教程以最主流的Appium自动化技术为例讲解如何对微信小程序做自动化测试。

准备工作

step1:打开微信小程序webview调试开关

聊天窗口输入如下两个URL:

微信小程序自动化,程序员,notepad++

 

在第二个URL打开的页面中勾选:

微信小程序自动化,程序员,notepad++

 

step2:安装UC开发者工具并识别小程序页面元素信息

chrome自带的inspect工具识别小程序/内嵌web页面需要访问外网,很多小伙伴不具体这样的条件,所以推荐大家安装UC开发者调试工具,这样不用FQ也可识别到小程序的页面元素信息

下载地址:https://dev.ucweb.com/

安装完之后如果有小伙伴发现识别不了可进行如下设置:微信小程序自动化,程序员,notepad++

 

进入微信主页面->向下滑动展开小程序列表->点击对应小程序

这里我们即可使用工具获取元素的信息并写出定位表达式了,比如定位到【教程】这个元素://a[contains(text(),"教程")]

step3:确认微信小程序对应的进程名

微信有很多的进程,我们要确定当前小程序是位于哪个进程中(当前查询到的是com.tencent.mm:appbrand0):微信小程序自动化,程序员,notepad++

 

这里需要注意:进行该操作的时候最好重启微信(在后台清理应用重新点击启动),目的是为了保证被测小程序在微信后台只有一个,跟代码执行过程保持同步。

step3:chromeDriver驱动匹配

小程序本质上还是web页面,我们可以通过chromeDriver驱动小程序页面执行,小程序因为使用的X5内核是经过腾讯二次开发过之后的,所以chromeDriver驱动与webview版本匹配并不严格按照官方Appium说明的匹配规则,这里试验了几个版本的chromeDriver,发现V2.40版本的chromeDriver是比较合适的:

下载地址:https://npm.taobao.org/mirrors/chromedriver

下载完毕后解压,将chromeDriver替换到Appium的自带chromeDriver所在路径:

Appium.exe所在路径\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win

编写脚本

这里以Java语言为例,我们使用Maven项目管理工具在项目中引入Appium的客户端库

<dependency>
    <groupId>io.appium</groupId>
    <artifactId>java-client</artifactId>
    <version>7.0.0</version>
</dependency>

Appium启动App的常规代码就不再赘述了,这里需要注意的是Appium启动微信做小程序自动化测试除了常规的配置如:deviceName、platformName、appPackage、appActivity之外,还需添加如下配置参数:

// 支持X5内核应用自动化配置
desiredCapabilities.setCapability("recreateChromeDriverSessions", true);
ChromeOptions options = new ChromeOptions();
//com.tencent.mm:appbrand0为前面通过adb命令查询到的小程序进程名,同之前保持一致
options.setExperimentalOption("androidProcess", "com.tencent.mm:appbrand0");
desiredCapabilities.setCapability(ChromeOptions.CAPABILITY, options);
// 初始化会默认将chrome浏览器打开,需要将Browser置为空
desiredCapabilities.setBrowserName("");

进入到小程序可以通过常规方式:

启动微信进入到主页->下滑展开小程序列表->点击对应小程序

进入到小程序之后我们需要切换context:

driver.context("WEBVIEW_com.tencent.mm:appbrand0");

划重点!!!切换context之后如果直接定位元素会发现元素是定位不到了,这是因为小程序打开之后会存在三个web窗口:

所以我们这里一定要记得切换(通过handle句柄)

//需要找到正确的web窗口--(切换句柄)
//获取所有的窗口句柄
Set<String> allHandles = driver.getWindowHandles();
for (String handle:allHandles){
    //通过窗口的标题来判断
    if(driver.getTitle().equals("软件测试")){
        break;
    }else {
        //切换句柄
        driver.switchTo().window(handle);
    }
}

之后我们就可以通过常规的方式去定位/操作元素了:

driver.findElement(By.xpath("//a[contains(text(),\"教程\")]")).click();

总结

微信小程序与普通的Hybrid应用做自动化测试存在很多的区别,不管是webview调试开关的开启方式,还是小程序需要的特殊启动参数配置,以及chromeDriver与小程序webview的版本匹配,种种因素导致微信小程序执行并不是很稳定,而且切换webview速度也比较慢。随着微信版本的迭代更新,可能一些配置会失效。

目前微信自己有发布了支持小程序自动化测试的框架Minium,但坑比较多。第三方的一些图像识别框架也可以支持小程序的自动化测试,比如网易的Airtest,上手简单,但准确性和稳定性不高。总的来说目前市面上并没有一款足够好用、足够稳定的微信小程序自动化测试的框架/工具。当然,随着后续技术的升级,应该会有很多的优秀工具涌现出来。

PS:想要完整代码的可以留言


 文章来源地址https://www.toymoban.com/news/detail-674411.html

到了这里,关于史上最全最新微信小程序自动化教程,看过的都点赞了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序的自动化测试框架

    微信发布了小程序的自动化测试框架Minium,提供了多种运行验证方式,其特点: 支持一套脚本,iOS Android 模拟器,三端运行 提供丰富的页面跳转方式,看不到也能去得到 可以获取和设置小程序页面数据,让测试不止点点点 可以直接触发小程序元素绑定事件 支持往 AppSerive

    2024年02月04日
    浏览(35)
  • pyautogui微信小程序自动化操作

    一个很简单的脚本,用途是实现微信小程序或其他软件的自动化操作,如果是长期固定需求,可以考虑把脚本内置到常用软件的环境中,比如MAYA,当我每天打开MAYA时就可以实现每天自动在小程序上疫情打卡 主要使用pyautogui和opencv模块,opencv用于图像识别,pyautogui用于键鼠操

    2024年02月11日
    浏览(31)
  • 微信小程序接口自动化-获取微信code

    https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 小程序登陆需要在小程序内部调用 wx.login() 的方法拿到 code,然后去请求服务获取到 token,后续的接口才能请求。 如何获取 code 去进行token获取。 Python 使用minium,JS 使用miniprogram-automator,这是微信官方提供的 UI 自动

    2024年02月08日
    浏览(35)
  • 微信小程序自动化实战(appium+python)

    本文主要讲解一下使用appium操作微信小程序的流程 要使用appium进行自动化第一步当然是配置好appium环境,这块我就不在这里细讲了,直接开始吧; ps:新版微信不再需要手动开启X5内核了 注意点: 要操作微信小程序,则需要先进入到微信小程序 要先查看微信webview使用谷歌驱

    2024年02月09日
    浏览(33)
  • 如何用python自动化微信小程序

    如何微信小程序自动化抢到跨境安 最近,接到一个这样的需求,最终交付的结果如下: 为了保护隐私,做了马赛克的处理。 程序提供一个界面,用于启动模拟器和实现启动抢票脚本 模拟器被封装程序的安装目录下 整个自动化的工程采用python实现: 核心的伪代码如下图所示:

    2024年02月13日
    浏览(41)
  • 【APP自动化测试必知必会】Appium之微信小程序自动化测试

    H5 是指第 5 代 HTML ,也指用 H5 语言制作的一切数字产品。 所谓 HTML 是“超文本标记语言”的英文缩写。我们上网所看到网页,多数都是由 HTML 写成的。 “超文本”是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。而“标记”指的是 这些超文本必须由包含属性

    2024年02月09日
    浏览(85)
  • 【接口测试】微信小程序接口自动化的实现方案

    前几天看到有人问微信小程序怎么进行接口自动化,所以想把自己如何进行微信小程序接口自动化的方法分享下。 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html这是微信小程序的登陆流程,小程序登陆需要在小程序内部调用 wx.login() 的方法拿到 code,然后去请

    2024年02月09日
    浏览(33)
  • 微信小程序自动化测试框架 Minium——快速开始

    Minium 是微信测试团队为小程序专门开发的自动化框架。它实现了miniprogram-automator 中小程序自动化能力。使用 Minium 可以进行小程序 UI 自动化测试,但是 minium 的功能不止于仅仅是 UI 自动化,甚至可以使用 Minium 来进行函数的 Mock,可以直接跳转到小程序某个页面并设置页面数

    2023年04月23日
    浏览(65)
  • 微信小程序自动化测试——自定义测试(Minium)

    前文 微信小程序自动化测试——录制回放 提到录制回放 支持输入,文本查找,断言等自动化测试基础操作,无需编写代码,用例生成效率高,但是部分操作不支持,对复杂业务场景有局限性。如果用户希望适用复杂的业务场景,自主制定测试场景,可以尝试 自定义测试(

    2024年02月11日
    浏览(43)
  • 微信小程序自动化测试最佳实践(附 Python 源码)

    小程序运行环境 微信小程序技术架构 使用 Chrome 调试小程序 小程序的性能测试 微信小程序的自动化测试​编辑 源码-微信小程序自动化测试 Python 版代码示例 小程序自动化测试需要跨过的几个坎 写在最后 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐

    2024年02月09日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包