1.基础部分包含:小程序测试环境搭建、小程序测试基础、测试注意点
在进行小程序测试的时候,有时候会有如下的一些需求
小程序的渲染层和逻辑层分别由2个线程管理:
一个小程序存在多个界面,所以渲染层存在多个WebView线程
不同版本的入口
体验版:酷家乐小程序平台-对应的小程序-版本管理,二维码固定不变,永久有效
在使用开发版或者体验版进行测试的时候需要开启调试模式
如果不开启调试会出现
1.无法访问没在小程序后台配置的域名会提示表现为「获取失败,请检查网络链接」
2.无法查看调试信息
公司内部平台上可以进行环境切换
修改env变量切换线上或线下等环境
很多小程序中会内嵌H5页面
在非正式版的时候可以选择「不校验合法域名、web-view(业务域名)、TLS版本以及HTTPS证书」来进行测试,但是到了正式版本后需要将外部链接加入到白名单
目前小程序分包大小有以下限制:
开发者工具中如何查看分包大小
现在需要修改它的返回值
数据格式为:
{"data":"","statusCode":"","header":""}
这次mock后让它就返回一个客户的信息
{"c":"0","m":"","d":{"pageIndex":1,"pageSize":20,"rowTotal":1,"pageTotal":1,"data":[{"obsCustomerId":"3FO4K4VYBUKQ","customerName":"听白","customerPhone":"","designNames":null}]},"f":null}
合并一下
{"data":{"c":"0","m":"","d":{"pageIndex":1,"pageSize":20,"rowTotal":1,"pageTotal":1,"data":[{"obsCustomerId":"3FO4K4VYBUKQ","customerName":"听白","customerPhone":"","designNames":null}]},"f":null},"statusCode":200,"header":""}
刷新一下页面进行测试,查看是否mock成功
修改一下响应的内容
{"obsCustomerId":"3FO4K4VYBUKQ","customerName":"听白1111111111111111111111111111111111111","customerPhone":"123","designNames":null}
查看效果
右上开放出了哪些功能,我们都需要验证边,确保正常。
特别是浮窗切换,前台后台切换的时候,容易出现错乱或者屏的现象
需要测试各个支付方式都能正常唤起并支付
程序为了快速流畅的户体验缓存了整个程序,乎每个都会存在量的缓存.
我们需要明确哪些我们需要缓存,哪些需缓存,注意切换或者账号切换时数据的正确性。
不同运行环境下,脚本执行环境以及用于组件渲染的环境是不同的,性能表现也存在差异:
JavaScriptCore无法开启JIT编译(Just-In-TimeCompiler),同等条件下的运行性能要明显低于其他平台。
主要是屏幕的适配
查看小程序会不会出现中断,白屏,卡死,闪退等问题
在保留原有特性的情况下,可以使用pytest来进行代码编写,提高编写效率
pipinstallpytest-mini--upgrade
frompytest_miniimportMini,Locator
classComponentsPage(Mini):view_container=Locator('view',inner_text='视图容器',desc='组件页-视图容器')
importpytest
frompytest_miniimportpluginsfromdemo.pagesimportComponentsPage
@pytest.fixture(scope="session")defcomponents_page(mini):yieldComponentsPage(driver=mini.driver)
importallure
frompytest_miniimportcompose
@compose(feature="小程序官方组件展示",story="组件",title='容器视图操作')deftest_view_container(components_page):withallure.step("点击容器视图"):components_page.click(components_page.view_container)assertFalse,"故意失败,查看报告截图"
查看网络请求信息
渲染后台架构渲染集群几个机房,每个机房有proxy、renderservice、redis、mysqlProxy:控制节点,角色为master或slave,每个集群至少部署2个以成环;Render:渲染节点,每个集群有上百个;Redis:存储任务信息、配置信息等等,以主