APP自动化测试保姆级教程

APP自动化测试保姆级教程

APP 自动化测试什么是 APP 自动化测试?我们先来说说什么是测试吧,当我们完成一个需求之后,这个需求可能是接口、硬件、机器、APP、客户端等等,当完成它们之后,都需要经过测试这个环节,这相当于给你的需求设置了一道关卡,保证了你这个需求的质量。

但是毕竟测试是需要花费大量人力精力的,所以我们可以让机器去为我们做这件事,毕竟机器是不会累的,让机器去做这件事,能大大提高整体的测试效率,这就是 自动化测试。

为什么要做 APP 自动化测试如果不适用 自动化测试 ,可能会造成以下情况:

重复性的测试,在多次构建中运行的测试容易导致人为错误的测试需要多个数据集的测试经常使用的功能,引入了高风险条件不可能手动执行的测试在几个不同的硬件或软件平台和配置上运行的测试手动测试时需要花费大量精力和时间的测试APP 自动化测试风险分析测试用例覆盖率:覆盖率很重要,它与测试效率挂钩,覆盖率有人说应该 100%,有人说应该50%,看团队吧测试结果准确度:准确度一定要保证做到近乎全绿才行自动化代码维护:可维护性是很重要的一个指标,代码应该要可维护性高些版本开发和测试时间进度:时间要规定好,这样才能保证效率开发对控件元素增修改的程度:修改尽量不要太大,如果太大的话,那要大改对应的测试用例APP 自动化测试实践环境准备我们大致需要以下环境:

Jdk 1.6 以上Python 2.7 以上AppiumAppium 是一个开源测试自动化框架,可用于本地、混合和移动web应用程序。它使用 WebDriver 协议驱动 iOS、Android 和 Windows 应用程序。

Appium 启动 Appium我们需要启动 Appium。

Appium 启动页面脚本代码编写platformName:这里是 android 的 apkdeviceName:手机设备名称,通过 adb devices 查看platformVersion:android 系统的版本号appPackage:apk 包名appActivity:apk 的 launcherActivity from appium import webdriver

desired_caps={

'platformName': 'Android',

'deviceName': '127.0.0.1:62001',

'platformVersion': '5.0',

'appPackage': 'com.ss.android.article.news',

'appActivity': 'com.ss.android.news.activity.MainActivity'

}

driver= webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

测试报告使用 Apifox 进行 API 自动化测试API 也是 APP 不可或缺的一部分,所以我们需要对 API 进行测试,我们可以使用一款非常方便的 API 工具 —— Apifox 来进行测试。

创建几个请求我们需要创建几个请求,在请求中的前置脚本或者后置脚本中,进行脚本代码的编写,Apifox 默认的脚本语言是 javascript。

在填入 路径、方法、名称 之后,我们需要进行 自定义脚本 的编写。

创建请求自定义脚本的编写我们可以发现 Apifox 已经为我们准备了很多校验脚本代码的模板。

校验脚本代码的模板比如以下的脚本代码:

// 判断状态码是否为 200

pm.test("Status code is 200", function () {

pm.response.to.have.status(200);

});

// 判断 body 是否包含目标字符串

pm.test("Body matches string", function () {

pm.expect(pm.response.text()).to.include("string_you_want_to_search");

});

// Body json 检查

pm.test("Your test name", function () {

var jsonData = pm.response.json();

pm.expect(jsonData.value).to.eql(100);

});

// body 字符串检查

pm.test("Body is correct", function () {

pm.response.to.have.body("response_body_string");

});

// 修改 body

pm.response.setBody({});

// header 是否包含 content-type

pm.test("Content-Type is present", function () {

pm.response.to.have.header("Content-Type");

});

// 响应时间低于 200ms

pm.test("Response time is less than 200ms", function () {

pm.expect(pm.response.responseTime).to.be.below(200);

});

// post 请求成功

pm.test("Successful POST request", function () {

pm.expect(pm.response.code).to.be.oneOf([201,202]);

});

我们可以为这个请求设置多个测试校验,比如我这里加了两个:

检查返回状态码是否为 200请求耗时是否少于 200ms设置多个测试校验点击保存,我们可以先运行一下试试,可以发现,我们得到想要的预期效果,校验也通过了。

运行Apifox 自动化测试试想一下,如果有五个接口呢,不可能一个一个去发送吧~所以我们需要用到 Apifox 的自动化测试功能。

接口我们需要进入自动化测试界面,然后导入对应的接口。

导入对应接口最后填写环境、循环数、延迟数等等,进行运行。

填写信息得出运行结果,可以查看耗时,成功数,失败数等报告参数。

测试报告关于Apifox欢迎体验一下,完全免费的哦:在线使用 Apifox。

Apifox 是一体化 API 协作平台,可以实现 API 文档、API 调试、API Mock、 API 自动化测试,是更先进的 API 设计/开发/测试工具。

Apifox 提供了一种全面的 API 管理解决方案。使用 Apifox ,你可以在统一的平台上设计、调试、测试以及协作你的 API,消除了在不同工具之间切换和数据不一致的问题。

个人使用体验还是不错的,推荐使用~

相关推荐

热血江湖版权是哪个公司
上海365彩票

热血江湖版权是哪个公司

📅 06-29 👁️ 2148
为什么喜欢看玄幻小说
上海365彩票

为什么喜欢看玄幻小说

📅 08-05 👁️ 5340
曾两次战胜樊振东,贝格诺伊施塔特2-3输球,止步德国杯八强
男人能忍多久没有夫妻生活
365bet亚洲足球赛

男人能忍多久没有夫妻生活

📅 07-01 👁️ 2173
c语言如何创建一个栈
上海365彩票

c语言如何创建一个栈

📅 09-08 👁️ 4812
球囊催产一般多久会生
365bet亚洲足球赛

球囊催产一般多久会生

📅 09-02 👁️ 8738