在咱们测试过程中,经常需要切换测试环境和线上环境。大致有如下几个方案。

一、服务器地址编译到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切换线上、测试环境的更多相关文章

  1. rsync实现负载均衡集群文件同步,搭建线上测试部署环境

    闲来无事,搭建一个负载均衡集群,至于负载均衡集群搭建过程,找时间写下.这次主要写集群之间的文件同步,以及线上测试环境的搭建. 笔者看过很多公司都没有线上测试环境,真是崩溃了,不造怎么确保线上线下环境一 ...

  2. SpringBoot的Profiles根据开发环境和测试环境载入不同的配置文件

    参考:https://www.cnblogs.com/bjlhx/p/8325374.html 1.需要有一个默认的配置文件,然后一个正式的配置文件,一个测试的配置文件.激活配置项,默认的配置文件ap ...

  3. 利用ansible-playbook从测试环境获取tomcat中java项目新版本发布到生产环境

    一.环境描述 安装有ansible的服务器:192.168.13.45 测试环境服务器:192.168.13.49 /home/app/api-tomcat/webapps/api.war为测试环境新 ...

  4. vue分别打包测试环境和正式环境

    vue打包时使用不同的环境变量 需求 同一个项目通过打包使用不同的环境变量,目前的环境有三个: 一.本地------开发环境 二.线上------测试环境 三.线上------正式环境 我们都知道vu ...

  5. [编译] 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 ...

  6. Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建

    [注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.Spark编译与部署将以CentOS 64位操作系统为基础,主要是考虑到实际应用 ...

  7. app测试环境搭建(python)

    app测试环境的搭建大致如下几个: 1.appium安装 appium-server或者使用appium-desktop都可以,前者已经不再更新 下载地址:appium.io 2.Android SD ...

  8. iOS如何在一个包上切换正式环境和测试环境

    最近项目处于测试阶段,所以免不了每天都得打包给测试人员,由于我们公司规模比较大,项目环境也分为了三种:测试环境.预上线(预生产)环境.上线(生产)环境.所以每到了测试后期,每天打包的时间也占了不少,遇 ...

  9. 在ubuntu机器上部署php测试环境

    在ubuntu机器上部署php测试环境 一.部署环境 Ubuntu11.10_X86_32,编译安装相应的软件:nginx+mysql+php. 二.软件安装 2.1 软件下载 libiconv-1. ...

随机推荐

  1. LGP5075【JSOI2012】分零食

    . 题解: 令$F$为欢乐度$f(x) = Ox^2 + Sx + U$的生成函数,常数项为$0$: 令$G(x) = \sum_{i=0}^{A} F^i (x) $ $ans = [x^M]G;$ ...

  2. Java入门:使用Java API

    什么是Java类库 在编写程序的时候,通常有很多功能是通用的,或者是很基础的,可以用这些功能来组成更发杂的功能代码.比如文件操作,不同程序对文件的操作基本都是一样的,打开文件,关闭文件,读取文件里面的 ...

  3. Redis3未授权访问漏洞导致服务器被入侵

    今天在腾讯云上搭的开发环境里的一台机器cpu load飚升老高,然后还能登陆上去,top后发现两个可疑进程./root/目录下有修改过的文件./opt目录被干掉了, 后经分析,这台机器上有redis外 ...

  4. ubuntu 安装node.js

  5. html概括

    --引入 什么是html? HTML(Hyper Text Markup Language)超文本标记语言. -->那么第一个问题----什么是标记语言呢? 标记语言就是让文本展示更丰富,更美观 ...

  6. kibana多台服务部署

    nohup /usr/share/kibana/bin/kibana -c /etc/kibana/kibana5602.yml & cp kibana.yml kibana5602.yml ...

  7. 设置PyCharm中的Python代码模版

    再MacOs运行的PyCharm中,执行python文件,如果不指定python文件字符编码会报错: SyntaxError: Non-ASCII character , but no encodin ...

  8. 11 Facts about Data Science that you must know

    11 Facts about Data Science that you must know Statistics, Machine Learning, Data Science, or Analyt ...

  9. 把一个IEEE754浮点数转换为IBM370浮点数的C#代码

    把一个IEEE754浮点数转换为IBM370浮点数的C#代码. 在这个网页上有古老的IBM370浮点格式的说明. // http://en.wikipedia.org/wiki/IBM_Floatin ...

  10. 悲催的IE6 七宗罪大吐槽(带解决方法)第二部分

    三.position:fixed无效 今天在IE6上遇到一个bug,本来想做一个消息提示框,让他在页面右上角停留一段时间后消失,这段时间内提示框随着页面的下拉一直出现在浏览器可见区的顶部,于是我用到了 ...