|
本帖最后由 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即可
框架代码及示例路径(百度网盘):
代码路径:http://pan.baidu.com/s/1jIscbEe
优化过的用例模板路径:http://pan.baidu.com/s/1pK90lar
默认提供是64位的python2.7,32位的机器请自行下载
需要将python的路径放到系统环境变量path中,再把chromedriver及iedriver放到python的安装目录下,然后再安装框架package
新用例最好以excel模板来编写,启用宏
使用时需要注意excel中的数据有效性(下拉菜单选择内容)及公式,
请按照excel模板来使用:请不要删除模板页面sheet、页面模板sheet
编写新的用例、公共步骤和信息的页面,可以点击配置sheet中的按钮来添加
(本框架方案为本人设计,仅供学习,勿做商业用途)
如有使用上的问题及实现问题,请回复
|
|