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