Android测试同学,不可避免的都接触过targetSdkVersion升级相关的测试,今天小编结合之前的经历聊一聊测试过程遇到的关于targetSdkVersion的坑。
(注意⚠️,网上说的那种直接修改默认运营商的APN的方法,可能造成问题,而且很多手机也不允许修改默认的APN)
原文链接:https://wetest.qq.com/lab/view/406.html
作 者 赵泽鹏,腾讯社交网络开发工程师 商业转载请联系腾讯WeTest及QQ音乐获得授权,非商业转载请注明出处。 WeTest 导读 2018年8月7日,Google对外发布最新 Android 9.0 正式版系统,并宣布系统版本Android P 被正式命名为代号“Pie”,最新系统已经正式推送包括谷歌Pixel、Pixel2系列以及Essential Phone。 腾讯WeTest平台第一时间进行了系统升级,实现Android 9.0机型兼容测试和远程调试服务。 为了让用户第一时间了解Android
0x1、Android Support Library的由来 Android 3.0 (API 11) 为了更好地兼容平板,加入了Fragment,而想让低版本的系统也能用上,需要做一个 向下兼容,于是Android团队推出了Android Support Library。
Android 3.0 (API 11) 为了更好地兼容平板,加入了Fragment,而想让低版本的系统也能用上,需要做一个向下兼容,于是Android团队推出了Android Support Library。
Android P 这次有很多行为变更,其中不乏一些需要亟需适配的变更。
继上个月我们发布 Android P Beta 2 及终版 API 之后,今天我们发布 Android P 的 Beta 3 版本,这是我们今年在 Android P 开发者预览版本上的又一个里程碑。在之前的更新内容中,我们已经最终完善了面向开发者的 API,现在的 Beta 3 已经非常接近我们即将在今年夏天发布的 Android P 最终版本的形态。 Android P Beta 3 包括了最新的 bug 修正,稳定性优化和一些微调,以及 2018 年 7 月发布的安全更新。我们非常推荐您现在对自己的
从2019年下半年,所有安卓外部应用市场强制要求应用升级到TargetVersion 28。斗破苍穹的升级过程需要分以下两步来做。
对于研发来说,测试永远都是绕不开的,通过测试我们可以减少bug率,提高产品的质量。测试有黑白之分,我们这里主要讲白盒测试,也就是基于现有代码逻辑的测试,比如单元测试等。
Q: Android 11 的分区存储是强制的吗?如果 targetSdkVersion 低于 Android 10,运行在 Android 11 的手机上,分区存储特性还生效吗?
众所周知,市面上有很多自动化测试工具,web自动化有selenium,robotframework,playwright等,接口自动化测试工具有httprunner,postman,jmeter等,性能测试有jmeter,loadrunner,locust,nGrinder等,移动端测试有appium,airtest等等。那有没有同时支持多端的工具呢?肯定是有的,airtest支持移动端和web测试,但不支持接口测试(当然可以自行编写脚本实现)。robotframework支持web端、移动端和接口测试,但不支持性能压测。另外,同类的测试工具,各个工具都有自身的特点,比如airtest支持图像识别控件,robotframework可以看成是selenium和appium的高级别封装,降低了代码编写成本,httprunner让接口测试用例通过配置化完成,降低了编写脚本的门槛,也可直接将接口用例转化为性能测试用例,利用locust实现性能测试。那有没有可能将这些工具都整合起来,放在一个框架里实现呢?基于此种构想,airobots诞生了。
原来的是 targetSdkVersion = 25,因vivo应用市场提醒需要升级到 28,可能出现一系列问题,现记录如下:
应用版本升级后使用内存突增?如何跟踪?这次MIG专项测试组为大家分享内存问题跟踪实战过程! MIG专项测试组 致力于为腾讯移动互联网事业群(MIG)提供专项评测及深度优化(性能、功能、安全等);同时负责探索新的测试理论和方法,研发评测工具及基础组件。 背景 手机管家从4.4升级到4.5后,用户数据反馈待机内存出现了2-4M左右的增长。经过代码排查及MAT分析,发现有几处代码会导致内存增长,只要将这些代码屏蔽掉一部分,内存情况就下降到正常水平。
UIAutomator是android的自动化测试框架,可跨APP。与instrumentation框架不同,UIAutomator不需要测试对象源码,因此,为黑盒测试框架。同时,与Monkey不同,UIAutomator不以坐标为主线,而是通过控件属性过滤(比如搜索文本为“提交”的按钮),获取控件本身。这很像小时候玩红白机游戏所用的金手指软件。
最近想写一个自己的库项目,以后开发都基于这个库项目来开发,于是乎,为了保证库项目中的代码功能没有问题,简单学了一些Android测试的内容,对于没有搞过测试的我来说,过程还是挺纠结的,现记录下来以备后用。
总看别人的文章,今天尝试着自己来写一篇。在逛论坛时候,无意间发现Android Studio 3.0正式版本推送更新了,早听说AS 3.0添加了许多新功能,然后手贱迫不及待地想先睹为快,结果正中下怀。下载和更新Gradle,半天无响应,只好结束进程强制关闭AS,手动离线下载安装。本以为不会有太大问题,谁知太高估了,进来各种的报错,各种的配置问题,填坑之路就此开始。
Robotium是一个基于模拟点击事件的用于进行黑盒测试的android测试工具。
Android 12 发布已经有好几个月了,而且随着各大市场对应用适配的要求逐渐提高,和尚也尝试将一个历史的应用简单升级适配 Android 12;
长久以来,我们致力于做到三件事: 实践指南、减少模板代码和简化任务流程,我们希望帮助开发者们集中精力专注在真正需要考虑的逻辑中去。Jetpack 为此而生,它所包含的库、工具和指南,可以帮助您更轻松地编写高质量的应用。
Apply Changes 是 Android Studio 中的一项功能,我们在 Android Studio 3.5 中引入了这项功能,以帮助开发者快速迭代您对应用所做的更改。Apply Changes 通过 JVMTI API 来判断是否可以使用此方式进行变更。在 Android 11 上,ART (Android 运行时) 扩展了 JVMTI API,引入了一个名为 Structural Class Redefinition (类的结构性重定义) 的新功能。该功能使 Apply Changes 在 Android 11 设备上增加了一类新的应用场景。现在,可以使用 Apply Changes 将更复杂的修改快速部署到正在运行的应用上,这包括:
Instrumentation Tests又叫Device or Emulator Tests,即运行在设备或者模拟器上的测试。使用AndroidJunitRunner来运行,测试代码存放在androidTest目录下。
十年中,Chrome见证了Web浏览器的沧海桑田。直到今天,Chrome仍然是世界上最受欢迎的浏览器,也是谷歌的大杀器之一。
(前言部分有点日记性质,对整个历程做了一个概况,如果你时间紧迫,可以跳过这部分直接看正文部分,正文部分分点分部分给出问题的描述和对应的解决方法)
Google Play 商店在 2021 年第 3、4 季度正式加强对应用 targetSdkVersion 的限制,要求应用必须以 API 级别 30 (Android 11) 或更高版本为目标运行环境。
摘要总结:本文主要介绍了一种iOS客户端与服务器之间进行数据传输的方法,重点讲解了如何实现客户端与服务器之间的数据交互,包括服务器端如何接收、处理客户端发送的数据,以及客户端如何发送数据到服务器。同时,还介绍了基于idb的通用数据传输方案,以解决移动客户端与服务器之间数据传输的问题。
昨天 Google 在印度正式发布 Android 8.1 Oreo,这是 Google 向实现 “为所有人打造由 AI 驱动的全覆盖移动平台” 这一愿景迈出的一大步。 Android 8.1 引入对 Android Oreo(Go 版本)的支持,即使是入门机型,依旧可以享受一流软件体验。Android Oreo(Go 版本)问世以来,凭借出色的表现,很快风靡在快速成长的低内存设备市场,同时也将你们开发的应用和游戏带给他们。 Android 8.1 Oreo 同时引入神经网络 API,为应用提供了一个利用机
经过差不多一年的 React Native 的开发后,我决定把我自打新手开始所犯的错误总结一下. ---- 1. 错误的预计 真的!开始设想的 React Native(RN)的应用是完全错误的.彻底的错误. 1、你需要单独考虑 iOS 和 Android版本的布局.当然,有很多的组件是可以重用的,但是他们有不同的布局考虑.甚至他们之间的应用结构页面也都是不同的. 2、当你在预测 form的时候-你最好要一并考虑一下数据验证层.例如,当你使用React Native开发应用程序的时候,你会比使用Cordov
Plaid 是一款呈现 Material Design 风格和丰富交互界面的有趣应用。最近这款应用通过现今的 Android 应用开发技术实现了一番重构。获取更多应用信息和重新设计的视觉效果,可以查阅 Restitching Plaid。
算了一下,上个版本1.6.1已经是半年前推出的了,而整个开源项目自2014年推出以来,我已经维护了有四年之久。这四年以来,我不断地完善着LitePal的代码,修复各种大家提出的bug,以及补充各式各样好用的新功能。而今天,时隔半年,LitePal终于迎来了一次大的版本更新,正式发布了2.0.0版本!
随着越来越多的设备升级到 Android Oreo,我们持续收到了很多开发者发来的关于 Oreo 的问题。在前三期 Android Oreo 的 FAQ 中我们已经答复了一些。不过很显然,中国开发者们对于 Oreo 的热情并没有随着春节假期的过去而减弱,本期 FAQ 便为大家解答二月期间我们新收到的关于 Oreo 的问题。 Q 1: Android Oreo 在安全性方面有哪些改变A:Google Play Protect (Verify Apps API,SafetyNet Attestation,re
Google Android Developers 在2015年3月就发布了UiAutomator 2.0版本。
今天我们来抢先预览一下 Oreo 的升级版本 —— Android 8.1。这次升级涵盖了针对多个功能的提升优化,其中包含对 Android Go (设备运行内存小于等于 1 GB)和加速设备上对机器学习的全新神经网络 API(Neural Networks API)。我们也基于 Oreo 用户与开发者的反馈做出了对应的局部优化。 现在我们推出开发者预览版,确保您的 App 已经做好准备;我们一直在与硬件厂商合作,帮助发布这次的新版本。建议您即刻开始使用新版本,我们预计正式版 Android 8.1 会在
Google自 android L (5.0) 以来就持续对安装系统进行 安全 以及 性能上的升级,此次的 android P (9.0)也不例外, 更大程度上对之前一些版本一些警告的具体落实,无论你的 Target Api 是否是 28 都将受到影响。
前些日志在社区看了【有赞团队的一篇记一次基于Robotium 改造的测试实践】 https://testerhome.com/articles/18752.
让我一起来看看 Iván Carballo和他的团队是如何使用Espresso, Mockito 和Dagger 2 编写250个UI测试,并且只花了三分钟就运行成功的。
简介 移动APP的UI自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护。从分层测试的角度,自动化测试应该逐层进行。最大量实现自动化测试的应该是单元测试,最容易实现也最容易在早期发现问题;其次是接口级测试,以验证逻辑为目的进行自动化,由于接口的相对稳定,自动化测试成本相对也可以接受;自动化成本最大的便是UI级自动化测试,然而UI界面是直接反馈给用户的效果展示,适度的尤其是BVT级的自动化测试也是非常必要的。本文通过分析几种自动化框架的异同,使测试人员在选择自动化框架时有所
React Native (简称RN)是Facebook于2015年开源的移动端跨平台开发框架。RN从开源以来已经有6个年头了,有着十分丰富的社区资源和生态,时至今日依然有很多移动端项目都使用RN来开发。本文主要通过以往的项目实践来谈谈在选择RN开发app可能需要注意的一些点,也算是自己的一个踩坑经验总结。
最新的 Android 版本 Q,已经发布了 Android Q Beta 3,虽然没有正式发布,但是不少用户已经加入了测试计划,抢先体验 Android Q 的新功能。
一、痛点 覆盖安装测试,作为一项基本的测试类型是不可或缺的。它存在的主要价值: 验证老版本覆盖升级到新版本,用户和系统数据能够正确迁移,以及保障用户升级后的功能可用性。 但是说他痛在什么地方呢? 需要测试的版本多 每个版本需要覆盖的用例多 二、解决方案 2.1 思路 从哲学上说,任何事物都是发展变化的。我们需要在“变化”中找寻“不变”的本质和规律。在覆盖安装过程中,我们也要找到“不变”的部分,那就是我们能够“减少工作量”的地方。 例如:某APP1.0版本覆盖升级到APP2.0版本。 在这个过程中哪些
Google 2018 IO 大会推出了 Android新的扩展库 AndroidX,用于替换原来的 Android扩展库,按照官方文档说明 AndroidX 是对 android.support.xxx 包的整理后产物,因为之前的 support 包过于混乱,比如之前我们如果使用support为27.1.1的相关依赖库时。可能需要所有相关的support 库都为27.1.1。如果其中有bug的话,可能需要所有的都去升级,存在一个绑定关系,而且正式版的发布周期也很长。
无论是手机上的应用,还是MacOS这样的操作系统,我们在使用软件的时候,常会跳出提醒我们升级到xxx版本的小窗口,建议我们使用更新的版本。这时候,你一般是怎么判断,这次要不要升级的呢?
发这篇文章的原因主要是关于 multiple-flutters[1] Flutter 多引擎的介绍也好,实践也好,可参考的资源实在太少,包括官方的 issues 也没很多有价值的信息,前几个月确实在坑的泥潭里死去活来。但好在已经走出了一条羊肠小道,可供大家参考。
在工作中,经常会碰到把标签栏指示线的宽度,做的和文字宽度一样,甚至比文字宽度还要短的设计。使用 TabLayout 我们可以快速实现一个 Material Design 风格的标签栏,但 TabLayout 的指示线 Indicator 默认是占满一格 Tab 的,且未直接提供修改 Indicator 宽度的方法。
移动应用App的测试,往往是非常繁琐、而又重复性的工作,很多开发者在测试工作过程中浪费了大量的时间和精力,而且还得不到满意的结果。大的公司一般都会配备专业的测试人员,可是专业测试人员的成本相对较高,创
这篇里面主要介绍一下Instrumentation框架以及其实现原理、相关的工具类以及驱动类,介绍一下框架中主要的组成部分。 Instrumentation框架介绍 Android测试环境的核心是一个Instrumentation框架,在这个框架下,你的测试应用程序可以精确控制应用程序。使用Instrumentation,你可以 在主程序启动之前,创建模拟的系统对象,如Context; 控制应用程序的多个生命周期; 发送UI事件给应用程序; 在执行期间检查程序状态。 ###Instrumentation 原
Android项目目录结构 src:项目的java代码 gen buildConfig:应用是否可以debug R:保存项目中使用的资源的id Android.jar:导入这个包,应用才可以使用Android的api libs:存放第三方jar包 assets:资源文件夹,存放视频或者音乐等较大的资源文件 bin:存放应用打包编译后的文件 res:资源文件夹,在这个文件夹中的所有资源,都会有资源id,读取时通过资源id就可以读取 资源id不能出现中文 layout
领取专属 10元无门槛券
手把手带您无忧上云