首页 > 编程知识 正文

app自动化测试框架(UI自动化测试工具)

时间:2023-05-04 14:42:46 阅读:84315 作者:3622

首先我想说明的是,APP自动化测试可能很多公司都不用,但大部分自动化测试工程师、高级测试工程师岗位的招聘信息也有要求,所以为了更好的待遇,我们还是需要花时间掌握,毕竟谁都要跟上钱

接下来,让我们总结一下APP UI自动化测试的思路。

开发语言选择

自动化测试常用的编程语言有Python、Java、Javascript、Ruby、C#、PHP等。 一般来说,我们会选择自己熟悉的编程语言编写自动化脚本,但对于编程基础基本为0的童鞋(或专注于自动化测试的童鞋),建议学习使用Python。

相对于其他语言,Python进行自动化测试有以下优点。

对于初学者来说,Python的语法简洁、可读性强、有强大的第三方库、编写脚本效率高的Python的py测试自动化测试框架是目前最流行的测试框架之一

UI测试框架选择

目前主流或大量使用的APP UI自动化测试框架有Appium、Airtest等。

苹果公司

开源app ium服务器支持在Windows、macOS和Linux上运行。 支持安卓、ios、H5的自动化测试,如Python、Java、Javascript、Ruby等(

提供功能强大的IDE,便于网络开发,只支持python语言,集成了Airtest和Poco两个测试框架,为初学者亲切集成了基于图像识别的UI自动化测试框架Airtest, 不懂代码也可以编写自动化脚本跨平台,Windows、Android、IOs APP应用的自动化测试是对游戏测试友好的Airtest和Poco的本质

根据实际情况选择合适的框架。

在以下情况下,可以优先选择internet的Airtest :

无编程基本游戏测试方案是单一(Appium相对较重)支付宝(Alipay )小程序的自动化)博主现在使用与Airtest集成的Poco框架进行支付宝(Alipay )小程序

如果测试方案复杂,需要多个手机批量测试,则测试脚本语言不是python (Airtest目前仅支持Python )

单元测试框架选择

与上述UI测试框架不同,是单体测试

根据开发语言的不同,Java有JUnit、TestNG、Robot等,Python有unittest、pytest等各自对应的单元测试框架。 由于博主主要使用Python进行自动化测试,因此这里只说明Python单元测试框架。

python主流的单元测试框架:

基于unittest、Python附带的单元测试框架pytest、unittest开发,基于易用性、信息更详细、插件更多的机器人框架、Python的关键字驱动测试框架

测试环境搭建

测试计算机的选择

如果有条件,建议使用Mac机专门进行UI自动化测试。 因为ios app ui自动化只能在Mac机上进行。

测试手机的选择

刚开始测试脚本调试的时候可以选择模拟器,安卓模拟器可以选择Gernymotion,夜神模拟器。 具体请参考使用博客安卓模拟器。

整个测试项目开发完毕后,为了接近实际的用户使用场景,建议您更改计算机,使脚本自动进行。

开发语言环境

建议安装python 3或更高版本。 官方已经停止了对python2版本的更新维护。

UI自动化测试框架环境构建

要在windows环境中构建Appium,请参考其他博客。 在Mac环境中构建Appium有点复杂,稍后写博客分享。

选择Airtest框架时,请访问官方网站。

脚本编写

创建测试演示

为了验证整个测试环境是否成功构建,以及是否可以运行公共示例,通常需要编写并运行简单的测试脚本,如果通过,则表明整个环境都成功构建。

确定目录结构

建议使用Page Object设计模式开发APP UI自动化测试项目。 请参阅博客Page Object设计模式。

选择测试报告

不同的开发语言、不同的单元测试框架可以选择不同的测试报告。 在python上,unittest框架可以使用html测试运行器或bs测试运行器生成测试报告,然后浏览博客unittest单元测试框架。 Pytest框架使用pytest-html生成报告,或者使用allure自定义测试报告。

完成以上步骤后,只要继续向测试项目添加测试用例即可。

Jenkins集成

按照上述步骤创建整个app UI自动化测试项目,运行一段时间后,可以考虑整合Jenkins。 博客Jenkins集成appium自动化测试(请参见Windows篇(或如何在远程Jenkins中添加Mac节点)。

总结

总结APP UI自动化可以使用以下实现方法。

pythonappiumunittesthtmltestrunnerpythonappiumpytestpytest-html/allurepythonairtest (Airtestide ) pythonpocopytestpytest

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。