在移动端测试自动化中利用 AnyProxy Mock 数据,测试埋点功能

本文介绍了在移动端自动化测试中如何利用AnyProxy进行Mock数据,以测试应用程序的埋点功能。通过示例展示了如何修改标题长度以验证显示效果,并详细阐述了测试埋点功能的步骤,包括数据持久化和验证。
摘要由CSDN通过智能技术生成

目录

前言:

Mock 数据

测试埋点功能


前言:

在移动端测试自动化中,利用 AnyProxy Mock 数据可以方便地测试应用程序的埋点功能。AnyProxy 是一种流行的代理服务器工具,它可以帮助测试人员快速准确地模拟网络环境,例如模拟网络延迟、模拟网络错误等。在测试应用程序的埋点功能时,可以利用 AnyProxy Mock 数据来模拟应用程序在不同网络环境下的行为,例如模拟网络延迟时应用程序的响应时间、模拟网络错误时应用程序的错误处理等。

Mock 数据

以 TesterHome iOS 客户端为例,一个测试点是:在话题列表,很长的标题能不能正确展示。
如果组织分工上移动端团队是分离的,或者功能上这个列表是智能推荐,或者技术上测试环境治理水平不高接口总是不可用,测试和开发同学在测试这点时最常见的选择是通过代理工具将标题改长,观察 App 的展示效果,延后对服务端的依赖。
比如 TesterHome 客户端里,启动后首屏请求
https://testerhome.com/api/v3/topics.json?limit=40&offset=0&type=last_actived
获取话题列表,把 title 改长再返回给客户端:

{
    "topics": [{
        "id": 12390,
        "title": "职业这条不归路上!总监们帮你解惑",
        "replies_count": 21,
        "node_name": "活动沙龙",
        "user": {
            "id": 3903,
            "abilities": {
                "update": false,
            }
        },
        "abilities": {
            "update": false
        }
    }]
}

想在 UI 自动化时也使用这个方式,需要代理工具支持可编程的方式编写规则、和外部交互,比如 AnyProxy 。
替换标题的规则文件如下:

module.exports = {
    *beforeSendResponse(requestDetail, responseDetail) {
        // 这个请求响应 Code 可能是 304
        if ((requestDetail.url.indexOf('https://testerhome.com/api/v3/topics.json?limit=40&offset=0&type=last_actived') === 0) && responseDetail.response.statusCode === 200) {
            let newResponse = responseDetail.response
            let jsonBody = JSON.parse(newResponse.body.toString())
            jsonBody.topics[1].title = '很长很长的标题显示测试' + Date.now()
            newResponse.body = JSON.stringify(jsonBody)
            return {
                response: newResponse
            }
        }
    }
}

如果使用 Appium ,为了方便和 AnProxy 交互,可以选一个 JavaScript 实现的客户端。
在 AnyProxy 的规则文件里声明

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值