51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4181|回复: 31
打印 上一主题 下一主题

python版selenium 轻量级WEB自动化测试框架

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-10-9 16:47:19 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 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中的按钮来添加

(本框架方案为本人设计,仅供学习,勿做商业用途)
如有使用上的问题及实现问题,请回复




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2016-11-8 17:17
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]测试连长

    31#
    发表于 2016-11-8 17:14:13 | 只看该作者
    为什么我启动ride没有自动加载标准库BuiltIn,求大神解答
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    27#
    发表于 2016-11-3 16:57:17 | 只看该作者
    回复看看,谢谢楼主!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24#
    发表于 2016-10-31 22:37:21 | 只看该作者
    非常感谢,学习下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    23#
    发表于 2016-10-31 22:33:40 | 只看该作者
    想一窥真相,感觉应该很不错
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-8-8 21:11
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    16#
    发表于 2016-10-28 22:47:58 | 只看该作者
    看看 感谢分享~~
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-27 12:25 , Processed in 0.071856 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表