使用 Espresso 实现完整覆盖的功能测试 | Ohmer's Blog

作者:JerryXia | 发表于 , 阅读 (0)
tags: Android, 测试
对于基于 UI 的功能测试的需求其实一直存在,理由其实很简单,不想一直让人去做重复机械的事情,而且可靠性完全是靠人力的堆积产生。然而现在行业大多数公司的功能测试工作依然主要是依靠人工来完成,从我们公司的实践来看我觉得有几个方面的因素的影响。
之前的 UI 测试框架的表现差强人意。就拿我们公司来说,其实测试部门在去年已经实现并推广一套主要基于 UIAutomator 实现的测试平台,但由于对复杂功能的处理能力较弱,基本只能实现部分功能的检测。这样导致的一个结果是,并不能有效减少测试的工作,而只能增加测试的额外工作,因此测试编写测试代码的积极性不是很高。同时由于测试代码的可重复利用性差,导致测试脚本的编写成本和维护成本偏高,实践中大家只用 UI 测试跑一些主流程业务,覆盖范围非常有限。
部分测试人员的编码能力不是很强。由于大部分测试人员可能并没有过多的开发经验,所以在编写测试代码时并不能很顺畅的完成自己想要的效果,这样也会导致测试代码项目的推广阻力会比较大。
对于怎么编写 UI 测试,并没有一个被大家接受认可的最佳实践。虽然我用 Espresso...阅读全文

在树莓派上用 Docker 安装 Gogs | Ohmer's Blog

作者:JerryXia | 发表于 , 阅读 (0)
这里假设在你的树莓派上已经装好了 Docker,之前装 Docker 的时候稍微折腾了一下,但是遗憾的是,当时没有记录下来,后面有机会再分享这一部分。
通过搜索可以找到 Gogs 官方为树莓派提供的 Docker 镜像,直接拉取下来。
1234567891011# Pull image from Docker Hub.$ sudo docker pull gogs/gogs-rpi:0.9.46# Create local directory for volume.$  mkdir -p /var/gogs# Use `docker run` for the first time.$ sudo docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs-rpi:0.9.46# Use `docker start` if you have stopped it.$ sudo docker start gogs这样你就可以通过访问 localhost:10080 访问 Gogs 页面了(你也...阅读全文

Library 不支持调试模式,不能忍 | Ohmer's Blog

作者:JerryXia | 发表于 , 阅读 (0)
tags: Android, Gradle
在 Android 开发过程中,BuildConfig.Debug 这个变量用来判断当前运行环境是不是支持调试模式。我们常常利用这个变量的判断在开发或者测试包中做一些代码追踪、测试工具开启、调试信息等工作。不过在 Android 依赖库中默认编译出来的包并不会像编译应用一样默认会自动生成 release 和 debug 两种包,它只会默认生成 release 一个版本的包,可以参考这里。在 release 版本的包里面,除非你有做过改动,不然默认 debuggable 这个值是 false。
常见的依赖库的使用方式有两种,一种是把依赖库的作为一个模块和主项目一起编译,也就是文件依赖;另一种是使用 aar 的方式引用,下面分别针对两种不同的提供对应得解决方案。
文件依赖方式其实 这个问题早在 2013 年就有人在 Google Group 上提出来。根据 官方文档,我们可以通过控制 publishNonDefault 这个变量的配置来使得依赖库在编译的时候默认生成所有变种的包,而不是仅仅生成 release 一种。
在依赖项目中添加这个...阅读全文

订单ID设计 | 伈情的博客

作者:JerryXia | 发表于 , 阅读 (0)
订单ID生成规则设计<订单ID生成工具类><订单ID生成算法:包含属性与每个属性固定的二进制位数为:unix时间戳占用39bit+订单版本号2bit+分库5bit+分表5bit+机器号6bit+自增序号6bit=63bit>
unix时间戳区间如下:    {        100000000000000000000000000000000000000        274877906944        111111111111111111111111111111111111111        549755813887    }历史时间与系统最大支撑时间计算公式:历史时间=系统上线时间-274877906944最大支撑时间=系统上线时间+549755813887
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848...阅读全文

Hello World | 伈情的博客

作者:JerryXia | 发表于 , 阅读 (0)
Welcome to Hexo! This is your very first post. Check documentationfor more info. If you get any problems when using Hexo, you can find the answer in troubleshootingor you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"More info: Writing
Run server1$ hexo serverMore info: Server
Generate static files1$ hexo generateMore info: Generating
Deploy to remote sites1$ hexo deployMore info: Deployment
Generate and deploy to remote sites1$ hexo g -d...阅读全文