webUI自动化测试框架---”pyswat“介绍
webUI自动化测试框架---”pyswat“介绍
大家好我是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”,完成手册编写我会第一时间通知并发布测试版本。
webUI自动化测试框架---”pyswat“介绍的更多相关文章
- Web 自动化测试框架 sweetest 介绍
项目开源: https://github.com/tonglei100/sweetest 文章转载:https://segmentfault.com/a/1190000011612061 介绍 swe ...
- 基于Java+Selenium的WebUI自动化测试框架(一)---页面元素定位器
对于自动化测试,尤其是UI的自动化测试.是很多做黑盒功能测试的同学,入门自动化测试一个最为直观的或者说最容易理解的途径之一. 对于手工测试和自动化测试的优劣,网上有很多论述,在这里不作展开讨论.但是, ...
- 基于Java+Selenium的WebUI自动化测试框架(十四)-----使用TestNG的Sample
到目前为止,我们所写的东西,都是集中在如何使用Selenium和Java来定位和读取元素.那么,到底如何具体开展测试,如何实现参数化,如何实现判定呢?下面,我们来看看Java应用程序的测试框架吧. 当 ...
- 基于Java+Selenium的WebUI自动化测试框架(八)-----读取元素(XML文件)
我们继续回到自动化测试框架的主线上来,在前面的文章中,我们定义一个页面元素的主要参数有:路径,找寻方式,等待时间,名称,这个四个参数.另外,我们还需要考虑一个问题,就是网站的页面. 举个例子来说,如果 ...
- 基于Java+Selenium的WebUI自动化测试框架(十)-----读取Excel文件(JXL)
之前,我们使用了读取XML文件的方式来实现页面元素的读取,并做成了基础页面类.下面,我们来进行一些扩展,通过Excel来读取页面元素. Excel的使用,大多数人应该都不陌生.那么Java读取Exce ...
- 基于Java+Selenium的WebUI自动化测试框架(六)---浏览器初始化
本篇我们来讨论,如何写一个浏览器初始化的类.在写之前,先思考一下,我们需要一个什么样的初始化? 先来看看使用原生的Java + selenium是怎么做的.(以firefox为例) System.se ...
- 基于Java+Selenium的WebUI自动化测试框架(三)------记录LOG
在有了Position类和接口类之后,我们是不是立刻就要着手开始写实现类了呢?按照一般的顺序是这样.但是,我们这里先停一下.原因有二: 1)既然是写一个框架,我们希望总体的功能上是全面的.实现类中,我 ...
- 基于Java+Selenium的WebUI自动化测试框架(十三)-----基础页面类BasePage(Excel)
前面,我们讲了如何使用POI进行Excel的“按需读取”.根据前面我们写的BasePageX,我们可以很轻松的写出来基于这个“按需读取”的BasePage. package webui.xUtils; ...
- 基于Java+Selenium的WebUI自动化测试框架(十一)-----读取Excel文件(POI)(1)
上一篇说了利用JXL的jar包来读取Excel的代码.在Java中,还可以用另外一种jar包来读取Excel的内容,那就是Apache的POI. 这里和之前一样,需要导入POI的jar包,建议导入这三 ...
随机推荐
- mybatis对java自定义注解的使用——入门篇
最近在学习spring和ibatis框架. 以前在天猫实习时做过的一个小项目用到的mybatis,在其使用过程中,不加思索的用了比较原始的一种持久化方式: 在一个包中写一个DAO的接口,在另一个包里面 ...
- 我的Node.js学习历程
学习一门技术,每个人都有每个人的方法.我的方法很简单,做项目. 基本概念 在搭建一个node网站之前,还是要掌握一些基本的概念的,这里列举一下,具体的内容大家自己到网上去查: npm bower ex ...
- JAVA连接数据库后,对数据库进行增删改查
1.Statement 增删改: 方法:execute(String SQL) String url="jdbc:Access:///E://A//shop.mdb"; Conne ...
- Python实现Windows定时关机
是最初的几个爬虫,让我认识了Python这个新朋友,虽然才刚认识了几天,但感觉有种莫名的默契感.每当在别的地方找不到思路,总能在Python找到解决的办法.自动关机,在平时下载大文件,以及跑程序的时候 ...
- 手动es6编译es5(命令行)
package.json:"devDependencies": { "babel-cli": "^6.18.0", "babel- ...
- Nginx网站使用CDN之后禁止用户真实IP访问的方法
做过面向公网WEB的运维人员经常会遇见恶意扫描.拉取.注入等图谋不轨的行为,对于直接对外的WEB服务器,我们可以直接通过 iptables .Nginx 的deny指令或是程序来ban掉这些恶意请求. ...
- java随机数生成的原理
一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在 ...
- C++ 头文件系列(exception)
内容概览 一图解百问,但是有些地方我们需要特别指出: 类型在这里指通过typedef重定义的,例如函数类型.指针类型等. exception_ptr 在标准中是未定义具体实现的,因此它可能是类也可能是 ...
- 老李谈HTTP1.1的长连接 2
HTTP1.1的长连接 但是HTTP1.1开始默认建立的是长连接,即一旦浏览器发起HTTP请求,建立的连接不会请求应答之后立刻断掉. 1. 一个复杂的具备很多HTTP资源的网页会建立多少TCP连接,如 ...
- Oracle常见错误集锦
1.ORA-12560:TNS:协议适配器错误 OracleService<SID>服务没有启动 2. ORA-12541:TNS:无监听程序 Oracle<ORACLE_HOME& ...