51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2080|回复: 6
打印 上一主题 下一主题

[资料] webUI 自动化测试框架---” pyswat “介绍

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-6-9 13:04:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好我是lamecho 辣么丑,今天给大家介绍一款web自动化测试框架pyswat。 ”pyswat“是一个做web页面自动化测试的框架(python-selenium-web-auto-test缩写)。基于python,利用hook技术及对selenium封装,做到完全录制案例(操作步骤)不需要手写脚本,很方便有木有!
举个栗子,做网站登录操作在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”,完成手册编写我会第一时间通知并发布测试版本。




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2017-6-9 15:44:18 | 只看该作者
666,楼主能否说一下这个框架的原理
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2017-6-9 15:44:43 | 只看该作者
测试就是来开荒 发表于 2017-6-9 15:44
666,楼主能否说一下这个框架的原理

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

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2017-6-9 15:45:24 | 只看该作者
用例集是怎么管理啊?看到目前是录制一个用例就生成一个excel记录文件
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2017-6-9 15:46:20 | 只看该作者
小爸爸 发表于 2017-6-9 15:45
用例集是怎么管理啊?看到目前是录制一个用例就生成一个excel记录文件

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

使用道具 举报

该用户从未签到

6#
发表于 2017-6-9 15:47:07 | 只看该作者
什么时候出来测试版本和 操作手册,持续等待中。。。。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-3-30 09:35
  • 签到天数: 172 天

    连续签到: 6 天

    [LV.7]测试师长

    7#
    发表于 2017-6-12 16:22:01 | 只看该作者
    小皮球的故事 发表于 2017-6-9 15:47
    什么时候出来测试版本和 操作手册,持续等待中。。。。

    看我签名进群获取,现在版本都更新到1.0.7了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-21 10:54 , Processed in 0.069364 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表