也是互联网金融
这个原理工作中用的蛮多,实用性大,文章如果能对读者普及下实现原理更好
easypoi
用 poi 是下下策,有一万种方法实现,第三方插件、框架、自定义、数据库、xml、json,推荐 json
做了些优化,去掉了硬编码,全面支持重载方法的所有场景的请求,包括对 web 页面和资源的请求
#1 楼 @sigma 一一解答
1.结果验证支持:普通全匹配、普通包含匹配、正则表达式的全匹配、使用正则表达式的包含匹配,后两者支持正则表达式匹配;
2.上传文件的请求参数有两部分组成,一个是文件描述的参数,一个是文件路径的描述,配置如下:
"param": "desc1=aaa&desc2=bbb", --描述部分
"fileParam": "file=/upload/xxx.txt", --文件路径
3.报告模块还没做,打算整个分层架构都优化好了统一做,测试数据解析抓取自己实现,可能会用到前端的框架,如 highchart 之类;
4.我做的是原生的基础框架,可以用 testng、也可以用其他的第三方插件,也可以自定义实现,形式不限;
5.支持但不限于 Jenkins,CI 平台的环境只要有 jdk 环境即可。
#11 楼 @konami1986 难道 appium 无线不行吗?
#3 楼 @konami1986 PageFactory 模式,appium driver 也支持的,webdriver 是所有类型 driver 的接口
谢谢分享!
#55 楼 @jiangboyang222 当初设计这个框架还未涉足 app 测试,主要基于 web 测试做的,所以分开说吧。
先说基于 b/s 的 web 的测试,页面是从服务端获取的,UI(展现给用户的页面)都是通过浏览器发送请求>>获取的 response(页面结构)>>加载渲染后呈现给用户。所以在此基础上还可以把广义的 UI 再细分成渲染后展现给用户的纯 UI 和未渲染前的页面结构,后者的就是我所说的 web 层。
然后再说 app 测试,其类似于 c/s 架构,界面是在客户端生成的,所以渲染后界面和渲染前的层次结构都只能从客户端获取,所以我认为 app 的 UI 层无法细分。虽然从层次结构下手非常类似于前面所说的 web 层,但从我掌握的知识面(本人知识面有限)还需依赖于 appium 等基于 e2e 的框架实现界面之间的跳转才能获取该界面的层次结构。
几年前做过这方面的测试,印象有点模糊了。。。socket 接口中的长连接才有心跳检测,一般在包头里面会有一些描述,例如包头长度、包体长度等,心跳检测包在包头里有标记位区分的。socket 接口不像 http、ws 等接口没有文档靠抓包分析就能测试,必须要按照接口文档,对截取的 16 进制包按每个字段定义的长度进行顺序解码,之后才能验证报文的正确性。当然,也有开发会在日志里面帮你解析成可读懂的内容了,但对于提升测试能力来说并无益处
这种理念如果能保持下去,我想热爱这个行业的人,也愿意捐点钱的支持这个社区的
#54 楼 @xubin98246 这个针对 android,ios 呢?
#10 楼 @seveniruby 关于支持新老版本的界面对比,如果不基于 appium(考虑到稳定性欠佳),如何获取界面的 DOM 结构是否有方案?