https://github.com/Is4everDearlls/selenium_ide_script_playback
在我的思维里,自动化应该和代码脱离,这样能让测试团队里更多的小伙伴可以参与进来。所以从一开始就没想过要做成常规的那样通过代码不断 CI/CD 的形式。
前期用 Django 写了一个自动化测试平台的 demo,因为前端易用性问题搁浅了,后续也没时间写新的或进行优化。详情见:https://testerhome.com/topics/14676
其实早在 2015 年就接触过 SeleniumIDE,但 IDE 录制的脚本在回放时一直都不怎么稳定,而前面说到的平台的问题在于用例的生成与维护,后面空下来的时候无聊瞎折腾,就把 SeleniumIDE 重新装了起来,然后录制了一个脚本之后,一查看文件,好家伙,原来是个 JSON 文件,然后这个成熟的想法就诞生了,然后就有了这个项目。
还有挺多想法没有实现的,例如响应 JSONPATH 断言等
基于 SeleniumIDE 插件录制的脚本,去定义对应的关键字实现方法。然后去控制脚本的执行,过程中获取日志并基于Chrome DevTools Protocol 解析操作中发生的 Ajax 请求。
基于上面信息进行断言,并将结果存于对象中,当所有步骤执行完成之后再计算所有步骤与用例断言来判断此用例是否通过。并将所有用例数据使用 Pytest 钩子函数进行断言,基于用例数据动态生成 allure 报告。