✨ 实战系列 ✨ 1️⃣ 微信小程序自动化测试实践(附 Python 源码)❤️

Posted 六十七点五

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了✨ 实战系列 ✨ 1️⃣ 微信小程序自动化测试实践(附 Python 源码)❤️相关的知识,希望对你有一定的参考价值。

软件测试实战:Day01-黑马Ego微信小程序的测试设计和执行

更多功能测试以及全套学习路线图均在专栏,↑↑戳进去领取~

系列文章目录

😊身为开发必知必会的Linux:Linux远程连接/命令的使用
😊Linux命令大全,唯一以案例详解文,持续更新中
😊Linux命令大全以及数据库,唯一以案例详解文,已完结

👼 Web自动化测试01:认识web自动化在什么项目中适用
👼Web自动化测试02:Web自动化测试工具选择大全
👼…中间部分内容看专栏哦!篇幅问题没有放!
👼Web自动化测试11:Selenium之frame切换、多窗口切换
👼Web自动化测试12:Selenium窗口截图、验证码处理

🍅接口测试-第01天-万字教程带你入门接口测试
🍅…中间部分内容看专栏哦!篇幅问题没有放!
🍅接口测试-第04天-Postman读取外部数据文件(参数化)

💻性能测试-第01天-从理解到体验,最后能够对比说出Loadrunner和JMeter的优缺点
💻性能测试-第02天-JMeter环境搭建完成第一个案例
💻性能测试-第03天-以案例理解JMeter主要元素以及相关的作用域
💻性能测试-第03天-掌握Jmeter断言和关联使用、自动录制脚本
💻性能测试-第04天-掌握Jmeter直连数据库

🏅自动化接口测试第一步Postman环境安装与插件安装
🏅自动化接口测试-第01天-接口、接口测试、URL、HTTP协议、接口文档解析
🏅自动化接口测试-第02天-接口用例设计思路、单接口用例、业务场景用例、postman
🏅自动化接口测试-第03天-Postman用例集、断言、前置脚本、关联、生成测试报告
🏅自动化接口实战-第04天-读取外部数据文件、iHRM项目实战


开始今天的学习内容

课程目标

手工阶段的测试内容(新项目中测试设计实现)

Linux阶段应用关于项目环境搭建和部署

接口测试阶段工具和代码的设计实现


🚩 今日路径

为学习小程序项目测试做前置准备工作

体现小程序项目中和APP项目不同点测试

🚩 微信小程序

微信小程序背景介绍
时间:2017年1月份 (简历中如果写微信小程序的项目建议写2018年之后)
定位:取代一切不常用APP,释放手机资源

微信小程序定义及特点
定义:简称Mini Program,依附于微信无需再次下载安装的移动端应用程序
特点:用户的体验性(即用即走,清爽体验)

微信小程序设计“不足”
微信小程序包大小不超过20M(目前)
微信小程序不适用于复杂的业务处理
微信小程序页面层级建议实际设计不超过三级,官方要求不超过5级

测试场景应用 : 验证小程序的优点,避免出现小程序的不足

🚩 微信开发者工具

方便开发测试人员直接使用工具进行开发和测试工作
支持:
Windows操作系统
macOS操作系统

🌈 微信开发者工具说明

初始化界面:

项目主界面:

🚩 微信小程序页面构成

作用:开发给项目文件包之后,能区分出什么类型的项目文件即可
注意:wxml+wxss+js 一般不用前端复杂的框架

wxml:微信小程序的页面模板文件
wxss:微信小程序的页面的样式文件
js:微信小程序的页面的逻辑处理文件
json:微信小程序项目配置文件

🌈 微信小程序通讯模型

应用场景 : 微信小程序如何和后台进行通讯(做接口测试)
注意事项:
微信小程序无法直接和后台服务器进行通讯
微信小程序必须依附于微信(客户端/微信接口服务器)进行和后台正常通讯

🌈 小程序和APP的对比

区别

入口 :

  • 小程序:进入小程序测试(扫码、搜索、下拉进入、分享、卡包等进行授权即可)
  • APP:通过网站进行下载(下载注册登录)

部署:

  • 小程序:无需下载安装即可使用
  • APP :需要安装、卸载、升级

兼容性:

  • 小程序:微信的版本和手机的分辨率
  • APP :不同的操作系统,同一操作系统的不同版本,屏幕分辨率

联系

  • 点对点服务
  • 都是移动端应用

🚩 熟悉Ego微商小程序项目

学习目标
能够解答当前Ego微商项目的熟悉项目四个步骤的答案
能做好与当前项目相关的测试的准备工作

学习项目的步骤:

  • 项目是干什么的

这里是引用
依附于微信的平台,为用户提供B2C的线上食品零售平台(微信小程序客户端;小程序的后
台)

  • 项目是给谁用的

主要为会上网的微信用户使用

  • 项目的核心模块是什么?

  • 核心业务

该产品主要提供的服务/应用是什么
正常流程
异常流程

  • 项目的技术栈

前端:以微信小程序为主的客户端,进行发起请求并显示响应结果
后端 :以LAMP为架构的服务器,处理前端请求并给出正确的响应的应用服务器

🚩 项目测试准备工作

  • 测试工具

    测试设备

    • 本地网络
    • 手机模拟器(微信开发者工具)

应用软件

  • 连接linux后台:finalshell
  • 数据库工具:Navicat
  • 抓包工具:fiddler

测试专属账号
作用:提供一套合法的专属账号信息,为后续搭建测试环境做准备
(对于开发来说,能进行小程序的开发任务)

  • APPID能唯一的表示微信小程序(唯一性和合法性)
  • APPSecret 存放在服务端,能够解密微信小程序APPID的正确性

申请账号注意事项

  • 个人版:不支持微信支付
  • 企业版:支持微信支付

微信小程序的版本【扩展】

  • 开发版本:在本地通过微信开发者工具打开并使用的版本
  • 体验版本:通过微信公众平台发布为体验版本,仅供测试人员使用(不超过15人,需要开发者进行添加对应测试的微信账号)
  • 线上版本: 提交微信公众平台的官方审核通过之后,生成正式的二维码,真实用户扫码使用的小程序版本

🚩项目部署

部署前的准备

  • 准备软硬件资源
  • 服务器:VMware模拟
    软件资源:

确认人:架构师、高级开发、运维人员
文档:设计规范、部署规范的文档

🚩小程序后台部署流程

作用:清楚知道后台环境的搭建具体操作步骤及过程,最终实现后台的部署

补充说明:VMware






🚩 后台部署步骤

1.本地服务检查

目的:
验证网路是否连通,方便安装软件包
操作版本方便安装的时候能够正确对应相关的版本

cat /etc/redhat-release

2.安装应用服务

通过集成工具,一次性安装所有应用服务

  • wget : 通过网络下载文件
  • ./install.sh 可执行文件脚本
  • yum install xxxx 在线单个安装某个软件

安装结果验证

  • 通过tail 查看安装日志文件最后几十行 : tail -30 lnmp-install.log
  • 通过cat more less head查看文件内容
  • 通过如下命令行检查服务是否正常
# 查看PHP的版本 
php -v
# 查看Apache的服务是否正常 
systemctl status httpd 
# 查看mysql的服务是否正常 
systemctl status mysql 

# 补充命令 常见服务名【httpd mysql nginx tomcat】 
# 启动服务 
systemctl start 服务名 
# 重启服务 
systemctl restart 服务名 
# 停用服务 
systemctl stop 服务名 
# 禁用服务(慎用) 
systemctl disable 服务名

3.上传项目包

目的:确保开发编写的项目代码上传到服务器

# 上传项目包文件(finalshell下可以用rz)到指定路径 
cd /home/wwwroot/default/ 
rz
# 解压缩上传的项目包文件到当前路径 
unzip egoser.zip 
# 修改解压之后的所有文件权限到最大 
chmod -R 777 egoser 
# -R 表示修改的是整个目录包含目录下所有文件的权限 
# 修改完毕后查看文件详细信息(权限) 
ls -l

以上是关于✨ 实战系列 ✨ 1️⃣ 微信小程序自动化测试实践(附 Python 源码)❤️的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序 | 实战开发开发环境测试环境和生产环境

微信小程序,Python爬虫抓包采集实战,采集某成考题库小程序

微信小程序,Python爬虫抓包采集实战,采集某成考题库小程序

软件测试实战:Day01-黑马Ego微信小程序的测试设计和执行

微信小程序 | 实战开发配置微信小程序APPID并快速接入

高效编码微信小程序自动化测试实践(建议收藏!)