无需编译app切换线上、测试环境

在我们测试过程当中,常常须要切换测试环境和线上环境。大体有以下几个方案。apache

1、服务器地址编译到app中

此种方式须要在代码里保存两套配置,一套指向线上,一套指向测试。经过编译参数分别生成测试包、线上包。记住此种方式必定要经过编译参数实现,防止将测试环境发到线上。windows

  优势:简单暴力无需其它设置及设备支持服务器

  缺点:切换服务器需从新编译安装包。app

2、app中留着修改服务器地址的隐藏功能

此种方式debug编译的状况下,预留一个能够修改服务器的入口,进入后能够随意切换服务器地址。工具

  优势:代码中不会出现测试服务器地址,不会形成测试环境发到线上。测试

  缺点:每次输入测试服务器地址,比较麻烦而且容易输入错误。spa

3、经过代理方式无需编译自由切换线上、测试环境

经过工具配置指向测试环境或线上环境,这种又有以下几种方法。插件

一、利用极路由等硬件设备

一、访问极路由安装host插件debug

二、将app中用到的域名,配置相应测试服务器地址代理

三、在app上配置使用此路由上网

此时你再次访问app即访问的是测试环境。

解决https没法获得数据的问题

因为app中配置的是线上服务器器,因此有可能为https协议。当使用https协议时,若是测试环境配置的是私有证书,app将不能拿到返回的数据,也就没法渲染。下图就是无效证书

此时app访问时报以下错误

有两个方式能够解决https问题

    第一: 另外申请一个正式证书(须要花钱)

    第二:将线上证书复制到测试环境,并将ng或apache配置成线上域名

 二、利用端口转发工具

利用 porttunnel 或 PortMap 等端口转发工具,在端口转发工具上配置一个转发规则。

一、配置转发工具,以下图配置为 访问本机88端口的全部请求转发到3.85的80端口

二、查找本机ip地址

 

三、设置windows防火墙,因为须要用本机进行转发因此要开放你的端口,暴力的话能够停用防火墙

四、手机上设置代理服务器

  找到wifi中的高级设置,将代理设置为手动,填写刚才配置的win ip以及porttunnel设置的端口号

五、配置好后这时候你的app就从线上切换到了测试环境

优势:只须要一个软件便可实现转发

缺点:软件方式不太稳定,关机等会失效

注意:此方法还有一个问题,我在配置htts请求未能配置成功。

三、360随身wifi或小米随身路由

可使用360wifi软件或小米随身路由等功能,而后再经过host修改或端口转发等工具实现测试线上环境切换。

优势:价格便宜

缺点: 也是相对不稳定,对于https的也是不太好搞定(须要修改手机上的dns指向,而且在360wifi机器上配置dns服务或在其它机器上配置dns,也就是修改dns指向)

相关文章
相关标签/搜索