无需编译app切换线上、测试环境
在咱们测试过程中,经常需要切换测试环境和线上环境。大致有如下几个方案。
一、服务器地址编译到app中
此种方式需要在代码里保存两套配置,一套指向线上,一套指向测试。通过编译参数分别生成测试包、线上包。记住此种方式一定要通过编译参数实现,防止将测试环境发到线上。
优点:简单暴力无需其它设置及设备支持
缺点:切换服务器需重新编译安装包。
二、app中留着修改服务器地址的隐藏功能
此种方式debug编译的情况下,预留一个可以修改服务器的入口,进入后可以随意切换服务器地址。
优点:代码中不会出现测试服务器地址,不会造成测试环境发到线上。
缺点:每次输入测试服务器地址,比较麻烦并且容易输入错误。
三、通过代理方式无需编译自由切换线上、测试环境
通过工具配置指向测试环境或线上环境,这种又有如下几种方法。
1、利用极路由等硬件设备
1、访问极路由安装host插件
2、将app中用到的域名,配置相应测试服务器地址

3、在app上配置使用此路由上网
此时你再次访问app即访问的是测试环境。
解决https无法得到数据的问题
由于app中配置的是线上服务器器,所以有可能为https协议。当使用https协议时,如果测试环境配置的是私有证书,app将不能拿到返回的数据,也就无法渲染。下图就是无效证书

此时app访问时报如下错误

有两个方式可以解决https问题
第一: 另外申请一个正式证书(需要花钱)
第二:将线上证书复制到测试环境,并将ng或apache配置成线上域名
2、利用端口转发工具
利用 porttunnel 或 PortMap 等端口转发工具,在端口转发工具上配置一个转发规则。
1、配置转发工具,如下图配置为 访问本机88端口的所有请求转发到3.85的80端口

2、查找本机ip地址

3、设置windows防火墙,由于需要用本机进行转发所以要开放你的端口,暴力的话可以停用防火墙
4、手机上设置代理服务器
找到wifi中的高级设置,将代理设置为手动,填写刚才配置的win ip以及porttunnel设置的端口号

5、配置好后这时候你的app就从线上切换到了测试环境
优点:只需要一个软件即可实现转发
缺点:软件方式不太稳定,关机等会失效
注意:此方法还有一个问题,我在配置htts请求未能配置成功。
3、360随身wifi或小米随身路由
可以使用360wifi软件或小米随身路由等功能,然后再通过host修改或端口转发等工具实现测试线上环境切换。
优点:价格便宜
缺点: 也是相对不稳定,对于https的也是不太好搞定(需要修改手机上的dns指向,并且在360wifi机器上配置dns服务或在其它机器上配置dns,也就是修改dns指向)
无需编译app切换线上、测试环境的更多相关文章
- rsync实现负载均衡集群文件同步,搭建线上测试部署环境
闲来无事,搭建一个负载均衡集群,至于负载均衡集群搭建过程,找时间写下.这次主要写集群之间的文件同步,以及线上测试环境的搭建. 笔者看过很多公司都没有线上测试环境,真是崩溃了,不造怎么确保线上线下环境一 ...
- SpringBoot的Profiles根据开发环境和测试环境载入不同的配置文件
参考:https://www.cnblogs.com/bjlhx/p/8325374.html 1.需要有一个默认的配置文件,然后一个正式的配置文件,一个测试的配置文件.激活配置项,默认的配置文件ap ...
- 利用ansible-playbook从测试环境获取tomcat中java项目新版本发布到生产环境
一.环境描述 安装有ansible的服务器:192.168.13.45 测试环境服务器:192.168.13.49 /home/app/api-tomcat/webapps/api.war为测试环境新 ...
- vue分别打包测试环境和正式环境
vue打包时使用不同的环境变量 需求 同一个项目通过打包使用不同的环境变量,目前的环境有三个: 一.本地------开发环境 二.线上------测试环境 三.线上------正式环境 我们都知道vu ...
- [编译] 7、在Linux下搭建安卓APP的开发烧写环境(makefile版-gradle版)—— 在Linux上用命令行+VIM开发安卓APP
April 18, 2020 6:54 AM - BEAUTIFULZZZZ 目录 0 前言 1 gradle 安装配置 1.1 卸载系统默认装的gradle 1.2 下载对应版本的二进制文件 1.3 ...
- Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建
[注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.Spark编译与部署将以CentOS 64位操作系统为基础,主要是考虑到实际应用 ...
- app测试环境搭建(python)
app测试环境的搭建大致如下几个: 1.appium安装 appium-server或者使用appium-desktop都可以,前者已经不再更新 下载地址:appium.io 2.Android SD ...
- iOS如何在一个包上切换正式环境和测试环境
最近项目处于测试阶段,所以免不了每天都得打包给测试人员,由于我们公司规模比较大,项目环境也分为了三种:测试环境.预上线(预生产)环境.上线(生产)环境.所以每到了测试后期,每天打包的时间也占了不少,遇 ...
- 在ubuntu机器上部署php测试环境
在ubuntu机器上部署php测试环境 一.部署环境 Ubuntu11.10_X86_32,编译安装相应的软件:nginx+mysql+php. 二.软件安装 2.1 软件下载 libiconv-1. ...
随机推荐
- 单点登录(六)-----遇到问题-----cas server 源码部署导入gradle后有感叹号---错误信息A cycle was detected in the build path of pr
cas server 源码部署导入gradle后有感叹号---错误信息A cycle was detected in the build path of project 'cas-server-cor ...
- 前端学习 -- Xhtml语法规范
Xhtml语法规范 HTML中不区分大小写,但是尽量使用小写: HTML的注释不能嵌套: 标签必须结构完整{要么成对出现,要么自结束标签,虽然浏览器会帮我们修正一些不符合规范的内容} 标签可以嵌套但是 ...
- ES6学习(一)搭建环境
作为一名后端小开发,业务工作需要将后台系统重构一番,许多同事都已经使用前后分离搭建项目,为了不拖后腿自己在家摸索ES6的新特性,真心不知道什么ES3,ES5,一上来就开始搞ES6,在此留下学习笔记,方 ...
- 实验一:使用ADO.NET方式读数据
第一步:创建Asp.net应用程序 在VS中,点击文件->新建->项目,按如图方式选择并输入: 第二步:新建产品浏览网页窗体Listing.aspx: 在项目SportsStoreEx上点 ...
- python3 安装MySQLdb及无法打开mysql.h问题解决(win7 )
在Flask中要连接mysql数据库,需要安装flask-mysqldb. pip install flask-mysqldb 用pip安装MySQLdb 中遇到如下问题,折腾半天之久,多方尝试,终搞 ...
- linux网络编程框架
OSI七层模型与TCP四层模型 OSI七层模型与TCP四层模型 BS和CS服务器架构 (1)CS架构介绍(client server,客户端服务器架构)(2)BS架构介绍(broswer server ...
- SMO详解
转自:简书https://www.jianshu.com/p/55458caf0814 SVM通常用对偶问题来求解,这样的好处有两个:1.变量只有N个(N为训练集中的样本个数),原始问题中的变量数量与 ...
- numpy计算路线距离
numpy计算路线距离 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 enumerate遍历数组 np.diff函数 numpy适用数组作为索引 标记路线上的点 \[X={X1,X ...
- Windows下配置Nginx+php7
第一部分:准备工作 第二部分:安装nginx 第三部分:安装php(这里主要讲nginx配置启动php,以cgi运行php)nginx配置文件是conf文件夹里的nginx.conf 在这里,我简单说 ...
- Java并发编程原理与实战二十六:闭锁 CountDownLatch
关于闭锁 CountDownLatch 之前在网上看到过一篇举例非常形象的例子,但不记得是出自哪里了,所以这里就当自己再重新写一篇吧: 例子如下: 我们每天起早贪黑的上班,父母每天也要上班,有一天定了 ...