- 关于YinTao
- 从源码构建
- 测试新的版本
- 贡献代码
在你想参与贡献之前,首先你必须了解它,YinTao
主要包含两块内容。
智能录制
和 脚本执行
,这是两个不同的方向。除此以外则是一些基本功能的
包装例如: 在线更新
、open-api
等.
-
智能录制: 监控用户访问目标页面,将用户操作转化为可稳定执行的目标代码。 其中主要采用
electron
中webview
来实现,我们通过注入内置脚本,在通过脚本内容记录用户操作。有趣的是iframe
以及file upload
都在我们的记录范围。 -
脚本执行
脚本执行,将录制生成或手动编写的代码,解释并执行。 其中主要使用playweight
作为核心驱动,但我们并没有直接使用而是改造了它,以使得更符合YinTao
的理念。我们需要更轻量简洁的脚本,更少的预定义,更高的语义化,以及稳定可用的脚本内容,而不只是在本地,更多的内容参考YinTao-core。
这里默认已安装node
环境和 yarn
, 如果没有清手动安装
# 克隆项目
git clone https://coding.jd.com/YinTao/YinTao.git
cd YinTao
# 安装依赖
yarn
# 安装对应环境浏览器
# win
yarn chrome: win
# mac
yarn chrome: mac
# 运行
yarn dev
yarn test
YinTao
期望贡献者拉取请求符合某些标准。在提交拉取请求之前完成以下任务
-
包括适当的测试:
- 如果您的代码包含错误修复,请包括回归测试。
- 如果您的代码引入了新功能,请包括单元测试和/或功能测试。
-
符合代码规范
- 复杂函数必须采用中文注释,不建议使用函数同名中文注释,注释仅表达坑点,而非实现。
- 字符串强制使用 ' 单引号,禁止非必要的;符号。
- 引用对象必须给明,强制类型,禁止传递any等不明确内容。
- 新功能必须添加单元测试,上线前单元测试必须通过。
- 禁止在非必要的时候写大函数,避免代码臃肿,单一使用的地方禁止封装函数(除非它可能被调用)。
-
请记住,团队可能会暂停或拒绝拉取请求。发生这种情况的原因有多种:
- 未能满足代码贡献要求。
- 质量差的代码。
- 其他发展优先事项可能优先。