我也刚好两年多,和你类似,只是我主力语言是 python ,主要用的自动化框架是 appium 。
分享一下我自己的经历和计划吧:
关于编程语言:虽然 java,python,javascript,object-c 都会一些,但主力语言还是 python ,其它语言主要是工作需要所以才用的,目前用得并不深。后续想把精力集中在 iOS 这个大方向,所以主要在了解 Object-C 和 宏 。
关于 UI 自动化框架:因为之前项目选定用 appium ,当时由于某个契机我也就对 appium 深入学习了一番(阅读源码),因此项目中遇到问题后能比较快速地定位问题原因和找到解决方案。目前由于项目需要开始上手 KIF ,还没到深入学习的程度(对 OC 和 苹果各种 framework 了解还不足),所以同时也在学习 iOS 开发。
关于工作中用不到的一些工具:你提到的工具除了 Tmux 其他我都有用过,说不上深入,但基本能满足日常使用。另外,如果你用 linux/mac/cygwin 的话,这些你在工作中都能用上。顺便在这里补充一个工具:Git ,我觉得这是一个用好后效率提升很高的工具。
关于移动端开发相关技术:Android 和 iOS 开发都学过皮毛,看懂开发代码基本还是 ok 的。目前在断断续续地学习 iOS 开发中。
CI 工具:项目中使用 Jenkins 做自动构建,大部分工作都是用 shell 或者 python 来做,其他插件了解不多。只知道 Jenkins 的 shell 坑略多。另外,正在学习怎么用 travis ci 。
接口测试:这个单独拿出来讲是因为我在这个方面入门时走得方向不那么正,踩过不少坑,所以这个一直是我心里的一道坎。如你所言,接口的问题可以得到快速修复,但同时它的影响面也很广,一次修改很可能覆盖很多个移动端版本,而且很多时候需要通过接口数据定位问题是处在服务端还是客户端,所以配套的东西其实不少(如 mock ,如果是自定义协议最好还要搞个合适的抓包工具)。目前也还在探索中。
你是通过什么判断没有 context 方法的?是报错还是没有自动补全?
如果是报错,把报错信息一起附上来。
把那两个 build.gradle 内容放上来看看?
薪酬范围?
正文也提下薪资范围吧,光写在标题会被忽略。。。
#1 楼 @huanzhijin 上手 Java 对你来说是小 case 吧
#5 楼 @tobecrazy 不算太远,地铁大约半个小时吧。
#3 楼 @tobecrazy 这次在广州哦
可能我说的不够准确。我说的协议不是 http 协议或者别的协议,主要是接口数据结构。这个当遇到添加新功能时有可能会通过扩充字段来做。
举个例子,协议指定登录接口的数据结构如下:
{
"username": "stringType",
"password": "stringType"
}
那么客户端根据这个协议写完解析语句后,可以随机生成下面的数据来联调:
字段结构错误
{}
正常数据
{
"username": "adsafasdf",
"password": "asvxzcv"
}
字段数据类型错误
{
"username": 1123123,
"password": 15612
}
...
童鞋。。。把你的脚本文件名改成其它名字。。。
你在文件里的 from appium
里的 appium 被 python 识别为你当前这个文件了。
不错,做的挺全。
之前也有做一下自动化的接口测试,但由于时间精力问题没有做成平台形式。有几个问题想交流下:
能提供更丰富的上下文不?例如你遇到这种项目是怎么做的测试,遇到了什么坑之类的。
这是一个测试相关技术交流社区,请不要发硬广。