测试踩坑:手机号一键登录的手机双卡运营商问题

H2在v8.3.0.0迭代新增了手机号一键登录功能,除了单卡常规测试外,还有双卡测试时发现的问题留个记录。

前提:
xr手机,是iphone手机双卡双待或者iphone全面屏手机,手机只插1张联通卡
步骤:
首次安装APP,进入app以后,在欢迎页面点击“立即开始”。
结果:
进入的页面,没有显示一键登录
在这里插入图片描述

期望:
在这里插入图片描述

有一键登录功能,进入手机号一键登录页面。

原因:
联通卡在双卡的返回的code有变更以及在双卡或者全面屏iphone XR 明明是单卡,但系统返回的系统是双卡信息,整体开发设计判断存在问题
经典:
1.手机单卡插着联通卡,没有问题,双卡插着,电信,移动也都没有,只有插联通卡有问题,这说明测试不能只测试一种运营商,不存在只要测试一张卡就可以;

2.要多关注新款手机的设计原理,多吸收知识,如没跟开发确认,也不知道iphone XR 明明是单卡系统会返回双卡信息,所以跟开发的沟通很重要,要相互取经,关注同行业经验分享;
预防:
1.通过Bug的分析,明白以后测试要注意sim卡测试,要注意运营商要覆盖到位,并且从这个衍生到,以后类似测试,一定要覆盖全,并且多多沟通;
2.补充跟完善相关手机sim功能用例,便于后续相关人员测试参考。

另外,安卓的release包在电信运营商接入后有了混淆代码,导致在一键登录崩溃,测试同学要及时了解和debug开发时的差异,一定要覆盖全面release包测试。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
获取双卡 Android 手机的电话号码可以使用下面的代码: ```java TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String sim1PhoneNumber = telephonyManager.getLine1Number(0); String sim2PhoneNumber = telephonyManager.getLine1Number(1); ``` 需要注意的是,有些运营商可能不会将电话号码存储在 SIM 卡中,因此可能无法获取到电话号码。 获取双卡 Android 手机运营商频段可以使用下面的代码: ```java TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); List<CellInfo> cellInfoList = telephonyManager.getAllCellInfo(); for (CellInfo cellInfo : cellInfoList) { if (cellInfo instanceof CellInfoGsm) { CellIdentityGsm cellIdentityGsm = ((CellInfoGsm) cellInfo).getCellIdentity(); int mcc = cellIdentityGsm.getMcc(); int mnc = cellIdentityGsm.getMnc(); int arfcn = cellIdentityGsm.getArfcn(); // TODO: 处理 GSM 频段信息 } else if (cellInfo instanceof CellInfoCdma) { CellIdentityCdma cellIdentityCdma = ((CellInfoCdma) cellInfo).getCellIdentity(); int sid = cellIdentityCdma.getSystemId(); int nid = cellIdentityCdma.getNetworkId(); int bid = cellIdentityCdma.getBasestationId(); int freq = cellIdentityCdma.getFrequency(); // TODO: 处理 CDMA 频段信息 } else if (cellInfo instanceof CellInfoLte) { CellIdentityLte cellIdentityLte = ((CellInfoLte) cellInfo).getCellIdentity(); int mcc = cellIdentityLte.getMcc(); int mnc = cellIdentityLte.getMnc(); int earfcn = cellIdentityLte.getEarfcn(); // TODO: 处理 LTE 频段信息 } } ``` 需要注意的是,以上代码需要在 Android 5.1 及以上的版本上运行,并且需要在 AndroidManifest.xml 文件中添加相应的权限: ```xml <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值