[原创]python版 selenium 轻量级WEB自动化测试框架
上一篇 /
下一篇 2015-12-01 09:46:16
/ 个人分类:selenium自动化测试
pyAutoform是基于
python版selenium编写的
web测试自动化框架:
特点:安装简单,数据驱动+关键词驱动,不用编写代码
原版autoform是我编写的Java版selenium框架中专门测试表单校验的部分,我将其提炼并优化作为web自动化框架编写教程的演示框架
因为是教学性质的DEMO,UI及数据存储使用excel来模拟。
【实现目标】 | 【实现方案】 |
可视化用例编写 拥有页面库 关键词驱动方式 数据驱动方式 可视化测试报告 测试集可控执行 可扩展 | Excel提供具体业务用例集 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文件夹的路径)
因此使用时需要注意excel中的数据有效性(下拉菜单选择内容)及公式,请按照excel模板来使用
支持操作:
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等于(输入yes\no)
valueEquals 判断value等于(输入yes\no)
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
默认提供是64位的python2.7,32位的机器请自行下载
需要将python的路径放到系统环境变量path中,然后再安装框架package
(本框架方案为本人设计,仅供学习,勿做商业用途)
如有使用上的问题及实现问题,请回复
相关阅读:
- 基于Python的程序设计思想与方法 (zaza9084, 2016-9-01)
- Mock在Python单元测试中的使用 (zaza9084, 2016-9-02)
- python跨路径调用的三种方法 (lgrytdwtla, 2016-9-09)
- python学习-day1-2016.9.12 (测试大大, 2016-9-12)
- Windows下Python的环境安装 (彩蝶不哭, 2016-9-17)
- selenium+python(环境配置) (samuelouyang, 2016-9-18)
- selenium+python(扩展1) (samuelouyang, 2016-9-19)
- Python项目开发实战 (zaza9084, 2016-9-20)
- selenium+python(扩展1.1) (samuelouyang, 2016-9-21)
- python字符串连接也可以使用print时用到的方法 (lgrytdwtla, 2016-9-22)
收藏
举报
TAG:
Python
python