- 优点:执行速度快,性能强,复杂的计算都在客户端上,可处理很多复杂的功能,基本没有什么做不到的事。
- 缺点:推广难,更新难,代码实现难,毕竟需要别人安装.exe文件等。
用的是wxpython框架。博主写c/s的经验并不多,大家将就看吧:首页整体如下:
上面菜单可以看到 仍然是四大端的自动化:
WEB
界面上的功能有 :点击切换环境,还可以切换浏览器,用户名设置等, 底部是几大模块用例的启动按钮。
Android
可以看到 对手机用adb进行的操作基本都封装了,可以看到 添加手机,链接所有手机,安装app等等功能都集成封装了。并且展示了终端的输出框,还有自动发布app的功能。同样下边是各个模块的用例执行按钮。除此之外,还有个mock功能,这个功能可以伪造接口的返回值,方便测试一些极端数据的展示交互等场景。
IOS
这里除了常规的 用例执行/查看报告/mock功能外。还增加了自己设计的一套定位功能。可以对当前页面进行解析,输入关键字就可以查到所有符合的元素,然后自动生成id,name,xpath,坐标等,直接复制到脚本即可使用。这套解析算法在当时还是挺nb的。
Api测试
可以看到 左侧功能,深层断言,就会递归检测所有字段,无论多深,具体算法在博客有公布:(可自行百度)
切换环境 选择脚本,就可以执行。其中有个不错的设计,就是针对接口的返回值预期,因为是自动完全断言所有字段,所以如果手写很麻烦,就有个功能是保存某次返回值作为预期,之后的执行就会与这次进行相对比。而其中的编辑脚本,也算是很早期应用到了关键字驱动,用excel进行编辑:
好了 这个分享结束了。最后说一下,关于c/s架构上,一定要设计好子线程,也就是当点击一个按钮,打开另一个子界面的时候,如果不用新线程去启动,那么主界面就会假死卡死一样。