51Testing软件测试论坛
标题:
python版selenium 轻量级WEB自动化测试框架
[打印本页]
作者:
joy3mao
时间:
2016-10-9 16:47
标题:
python版selenium 轻量级WEB自动化测试框架
本帖最后由 joy3mao 于 2017-6-20 10:23 编辑
pyAutoform是基于python版selenium编写的web测试自动化框架:
特点:安装简单,数据驱动+关键词驱动,不用编写代码
原版autoform是我编写的Java版selenium框架中专门测试表单校验的部分,我将其提炼并优化作为web自动化框架编写教程的演示框架
因为是教学性质的DEMO,UI及数据存储使用excel来模拟。
【实现目标】
可视化用例编写
拥有页面库
关键词驱动方式
数据驱动方式
可视化测试报告
测试集可控执行
可扩展
【资源方案】
Excel提供具体业务用例集
Sheet页提供页面库
Sheet页提供测试用例及数据
Sheet页提供配置管理项
Python版WebDriver提供核心
HTMLTestRunner提供可视报告
配置项提供测试集
框架代码结构:
pyAutoform
---__init__.py
---autoForm.py
---browserManage.py
---excelManage.py
---HTMLTestRunner.py
---operate.py
运行代码及测试用例、日志结构:
test
---Logs
------result.html
---Testcases
------XXX测试用例1.xlsm
------XXX测试用例2.xlsm
---runTest.py
---run.bat
每个excel文件可以是一个模块的用例集合,批量运行时,在runTest.py中配置这些excel文件名列表
(这里是相对于Testcases文件夹的相对路径;
但用例中上传类操作,上传文件的路径是相对test文件夹的路径)
支持操作:
get 访问url
click
selectOrNot 选中或不选中(输入yes\no)
sendKeys
selectByValue
selectByText
selectByIndex
textContains 判断text**
switchToWindowByClick 转向点击打开的新窗口
switchToDefaultWindow
executeJs 执行js
skip 跳过此步骤
{@param1@} 设置参数param1
{@param2@}
{@param3@}
mustExist
switchToFrame
switchToDefaultContent
call 调用公共步骤
textEquals 判断text等于
valueEquals 判断value等于
isExist 判断是否存在(输入yes\no)
isDisplayed 判断是否显示(输入yes\no)
isSelected 判断是否选择(输入yes\no)
isEnabled 判断是否可用(输入yes\no)
upload 上传文件(输入相对test文件夹的文件路径)
moveOverElement 悬浮
sameAsLocalFile 下载文件与本地文件比较
ExistInSecs 在一定时间内出现
ContextClick 点击内容(右键)
Waitforsecs 等待(秒)
execute 执行python脚本
alertAccept 弹出窗确定
alertDismiss 弹出窗取消
这个是教程用的demo版,操作的类型不是很全,但可以自己补充点操作类型,重新安装下package即可
框架代码及示例路径(百度网盘)
:
[hide=d30]代码路径:
http://pan.baidu.com/s/1jIscbEe
优化过的用例模板路径:
http://pan.baidu.com/s/1pK90lar
[/hide]
默认提供是64位的python2.7,32位的机器请自行下载
需要将python的路径放到系统环境变量path中,再把chromedriver及iedriver放到python的安装目录下,然后再安装框架package
新用例最好以excel模板来编写,启用宏
使用时需要注意excel中的数据有效性(下拉菜单选择内容)及公式,
请按照excel模板来使用:
请不要删除模板页面sheet、页面模板sheet
编写新的用例、公共步骤和信息的页面,可以点击配置sheet中的按钮来添加
(本框架方案为本人设计,仅供学习,勿做商业用途)
如有使用上的问题及实现问题,请回复
作者:
SunnyLan
时间:
2016-10-10 10:55
赞一个
作者:
小习平易近人
时间:
2016-10-11 10:31
好像挺不错的样子。谢谢楼主
作者:
loadofwar
时间:
2016-10-15 00:07
回复看看,谢谢楼主!
作者:
18291776550
时间:
2016-10-18 15:03
111
作者:
xiongjing1
时间:
2016-10-18 16:03
终于找到你
作者:
hibobo
时间:
2016-10-20 17:41
selenium
作者:
yingyingcsu
时间:
2016-10-21 10:13
谢谢楼主分享
作者:
Ash_灭
时间:
2016-10-24 01:33
好像挺不错的样子。谢谢楼主
作者:
徐小徐
时间:
2016-10-24 14:02
赞一个,楼主厉害
作者:
phoenix-Lee
时间:
2016-10-26 15:18
学习一下
作者:
dongdong12
时间:
2016-10-27 10:38
看看看看
作者:
zx316966524
时间:
2016-10-27 11:05
感谢分享
作者:
sky_857
时间:
2016-10-27 14:24
来看看
作者:
不见荷
时间:
2016-10-27 14:48
谢谢分享
作者:
handicap
时间:
2016-10-28 22:47
看看 感谢分享~~
作者:
lzq101848
时间:
2016-10-29 06:56
谢谢楼主!
作者:
dcr110112
时间:
2016-10-29 20:50
作者:
ssyybb2005
时间:
2016-10-31 08:28
3q
作者:
y2907818
时间:
2016-10-31 17:16
很好
作者:
y2907818
时间:
2016-10-31 17:17
很好
作者:
Lee_zhang
时间:
2016-10-31 21:57
感谢楼主~
作者:
ly524699106
时间:
2016-10-31 22:33
想一窥真相,感觉应该很不错
作者:
beerdu
时间:
2016-10-31 22:37
非常感谢,学习下
作者:
sandy_wjh
时间:
2016-11-1 14:05
学习
作者:
rippleshadow
时间:
2016-11-2 10:11
非常感谢
作者:
leoch
时间:
2016-11-3 16:57
回复看看,谢谢楼主!
作者:
Miss_love
时间:
2016-11-4 18:26
支持分享
作者:
abc0012544
时间:
2016-11-7 17:21
!!!!!!!!!!!!!!!!!!!!!!!
作者:
SODEGREEN
时间:
2016-11-8 16:16
谢谢
作者:
棉花糖西西鲁
时间:
2016-11-8 17:14
为什么我启动ride没有自动加载标准库BuiltIn,求大神解答
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2