其他测试框架 webUI 自动化测试框架---” pyswat “介绍

辣么丑 · 2017年05月03日 · 最后由 辣么丑 回复于 2018年03月12日 · 2073 次阅读

大家好我是 lamecho 辣么丑,今天给大家介绍一款 web 自动化测试框架 pyswat。 ” pyswat“是一个做 web 页面自动化测试的框架(python-selenium-web-auto-test 缩写)。基于 python,利用 hook 技术及对 selenium 封装,做到完全录制案例(操作步骤)不需要手写脚本,很方便有木有!:lol
举个栗子,做网站登录操作在 python 中你要这样写一大堆脚本

而通过 pyswat 的录制后,你得到的是一个 excel 表格的案例,像这样

得到案例后,执行程序回放案例,超级简单。另外框架实现功能远远不止这些。通过配置文件可以针对某个 case 设置回放次数,回放时利用智能算法查找元素不需要你在苦逼的写脚本啦。
案例也可以增强,在输入内容上可以指定 random 随机生成输入内容,比如 random:测试 +int(3),此时回放时输入就会随机生成文本” 测试 549“(” 测试 “+ 随机的三位数)位数通过括号数字指定。当然也可以这样写 random:测试 +int+str(5)就会带上随机生成字母。
除了随机生成输入内容,同样如果指定 sequence:测试,配合 case 的回放次数会按顺序生成文本内容进行输入,比如第一遍会生成” 测试-0001“,第二遍生成” 测试-0002“依次类推。同时如果将生成的内容指定参数名称,再后面的案例可以获取该参数的内容进行前后关联。
还有,封装了 drag 元素拖拽方法,有没有感觉 selenium 的拖拽 drag_and_drop 超级废,pyswat 框架封装的 drag 实现的是超强的半物理拖拽,你只要传入拖拽的两个元素就能实现这两个元素的物理拖拽。
在页面检查上,封装了 check()方法,传入检查项可以在回放日志中体现查找结果,类似这样修改案例

日志中记录结果:
2017-05-03 13:16:42 :---- step7 开始
2017-05-03 13:16:45 :------ 查找结果共: 0 条
2017-05-03 13:16:45 :------ 查找结果页面无此元素 随便说说
2017-05-03 13:16:46 :---- step7 结束

还有啥呢,在页面元素定位如果查找到的元素是个集合怎么办呢,以往在 python 脚本中你要写循环做判断进行匹配。而在 pyswat 框架中,你只要指定” at:填上匹配内容 “程序会自动识别匹配。
举个栗子,在雪球网上这样的页面


你要点击某个” 关注 “按钮,而你通过 find_elements_by_class('followStock') 找到的是一个集合,在脚本中你要写一大堆判断是吧。

而通过 pyswat 你只需要这样写,在红框位置加入 at:文本内容 就 ok 了。

如果这样还觉得不够强,那么你可以直接在案例中写 python 脚本,像这样

这样该够强了吧!
另外实现屏幕滚动,附件上传统统有封装的方法实现。像遇到 select,frame 等简直小菜一碟,pyswat 统统搞定。
最后执行完后,会自动生成柱状图,像这样:

结果一目了然有木有。
目前我正在写 pyswat 的操作手册,感兴趣的筒子,关注我的新浪微博 “lamecho 辣么丑” 或是微信 “fire-bug”,完成手册编写我会第一时间通知并发布测试版本。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 38 条回复 时间 点赞


pyswat 新增元素图片检查,结果检查更直观

pyswat - 1.0.26 更新
pyapp - 体验版本 20180104

pyapp 框架也出来了 小伙伴 速度体验

版本更新到 1.0.8

tonglei 回复

验证 用 check 方法

好像没有看到验证测试结果的步骤?

Jay_ 回复

我也觉得没啥意义 毕竟你三年前就写出来了这样没意义的垃圾

看起来没觉得有啥意义....

感觉很强大呀,加油

还没安装环境的有福了,pyswat 环境安装不再需要一个个安装那些第三方库文件了。使用 virtualenv 省去了这些步骤,还未使用的筒子快点上车啦

今天对框架做了一个比较大的改进,就是通过录制时增加了获取元素的 xpath 路径,这样回放的时候增加了一种回放方式
版本更新到 1.0.7

zhang 回复

加油
目前 pyswat 框架已经更新到 1.0.6 啦

厉害了我的哥, 虽然现在作为一个自动化测试的小白,除了提交回复以外不能发表任何建设性的意见, 但我会加油成为大神的。

最新 1.0.3 已发布

在线使用手册文档更新 具体地址看我微博

pyswat 框架学习 qq 群 631466916。最新版本更新到 1.0.1,群文件里获取最新版本

今天优化了 at 查找关联
并封装了直接通过元素 innertext 查找元素的方法
改了几个 bug

chenyouan 回复

具体看使用手册
配置文件可以配置使用的浏览器。目前支持 ie chrome firefox

很不错,能一个脚本兼容不同浏览器吗?

End 回复

文章末尾

辣么丑 回复

楼主,微博地址呢

测试版链接已发微博

手册已经写好了 移步微博
程序最快下午弄好发布出来

三年前就写出来的东西.

程橙 回复

已经快写完啦 别着急
微博有截图为证 😄

什么时候出来测试版本和 操作手册,持续等待中。。。。

帖子呢

Mingway_Hu 回复

主程会以 python 文件发出来

辣么丑 回复

最后会开源么?

webUI 自动化测试框架---” pyswat“测试版发布在即,感兴趣或想要试用的同学关注我的微博或 + 微信。
获取渠道只在微博和微信发出,谢谢!

哄哄 回复

生成的用例只是临时的,每个项目自己整合录制的用例放到单独的 excel 表里一个 sheet 就是一个 case。具体的操作手册还在写

用例集是怎么管理啊?看到目前是录制一个用例就生成一个 excel 记录文件

辣么丑 回复

期待楼主开源

程橙 回复

测试版本已经 OK 了 就是操作使用手册还在写

好奇,坐等测试版本

开头就说啦,采用 hook+selenium 配合 python
比如录制钩子获取键盘消息 然后动态识别页面元素达到录制目的 最后自动生成 excel 案例

666,楼主能否说一下这个框架的原理

需要 登录 後方可回應,如果你還沒有帳號按這裡 注册