嗨,我是兰若,安卓和ios的代码可以放一个项目目录,统一在一个仓库管理代码可行吗?今天因为这个事情和另一个管理产生了很剧烈的争吵,对方认为安卓和ios自动化测试代码都是基于python写的,并且都有用到appium这个工具,并且同一个应用,安卓和ios界面布局完全一样,所以有很多配置或者方法是可以共用的,放在一个项目目录下面,安卓和ios用例用不同的文件夹就好,其他很多地方可以共用,一个代码仓库就可以统一管理和维护
基于他这种观点我不认可,我承认确实这两个端在进行自动化测试这件事情上面有很多相似的地方,都是基于python进行编码,都会用到appium这个工具,可是不能仅仅因为这样,就把安卓和ios的代码放在一起统一管理,以下是我认为不能统一管理的原因
1)存在代码依赖和拉取问题,ios和安卓端的代码是两个自动化工程师在维护,如果放在一个仓库,意味着ios的开发每次都需要拉取安卓的代码下来,他并不维护和编写安卓代码,但是每次安卓开发更新,他都需要拉取这部分代码,不拉取代码,整个git又没办法正常使用,因为git是不支持直接push代码的,同理ios开发也需要去拉安卓的代码,也会有这个弊端
2)参数上面,安卓和IOS启动webdriver的参数是不一样的,以下分别是安卓和ios的参数
可以看到两边的参数是不一样的,如果放在一起,就意味着每次都需要去判断当前设备是安卓和ios,这会增加代码上面的复杂度
4)从可维护性上面讲,我们编写自动化测试代码,不仅仅要考虑当前,还有考虑后期代码的持续更新,如果放在一起,当后期的测试用例越来越多,代码量越来越大,整个框架的代码量会非常大,分开管理可以让每个平台的代码结构更加清晰和模块化,便于后续的代码维护和迭代更新
5)测试报告和分析,分开管理可以让每个平台的测试报告和分析更加独立和清晰,也更有利于对iOS和Android应用的测试情况进行全面评估,如果说后期想同时查看两个端的报告,可以把两个端的测试报告放平台上,各自查看就好
6)团队协作和知识共享,每个平台的自动化工程师可以专注于自己的领域,提高工作效率,不需要去额外维护另一个平台,同时也有利于团队内部的知识积累和经验分享
基于上面种种,我们最终还是选择了分开管理,因为分开管理优势更多,偶也✌️