51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 14106|回复: 50
打印 上一主题 下一主题

[原创] QTP版"12306订票助手"--支持刷票及自动预定

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-1-21 21:39:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 mmsw450 于 2013-1-23 23:13 编辑

12306把订票助手封杀了,闲来无事用QTP写了个简单的刷票脚本。   
  
  登录以及设置始发、终点 、日期部分未做;一是简单,二是没有做的必要!(因为订票时,可能随时修改始、终站及购票日期,由QTP来控制不合理)
  
目前已实现的功能:
  0、至少5秒自动查询一次(可设定查询间隔)
  1、支持车次白名单,
  2、支持席位选择,目前支持“仅卧铺”或“仅座票”或“全部”,一旦设定席位有票根据白名单自动预定车次
  3、支持自动选择订票人员(暂未做验证码识别,不能自动提交订单)

使用方法:
  1、先打开QTP,后打开IE
  2、登录帐号,设置好始发及终点站;出行日期。
  3、修改NameList;WhiteList;FirstSelect三个变量

  4、运行脚本即可


脚本下载地址:
   

同几个朋友交流后,把登录部分也发布出来:
1、 登录部分需要手动输入验证码;脚本自动检测,如果验证码长度=4位时,自动点击登录;
2、如果验证码错误,则自动输入密码,重复步骤1





PS:0  完全描述性编程,代码粘贴到QTP中即可使用。
     1  仅个人娱乐之作,勿喷;欢迎指点。测试交流群:288793120
     2  在IE7 IE9 下测试通过
     3  计划用JAVA+WebDriver重写

     4  因为51论坛代码排版有点难看;删除代码部分。请下载后查看。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

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

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2013-1-22 09:31:43 | 只看该作者
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2024-10-4 10:34
  • 签到天数: 1208 天

    连续签到: 1 天

    [LV.10]测试总司令

    3#
    发表于 2013-1-22 09:35:15 | 只看该作者
    厉害啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    4#
    发表于 2013-1-22 09:39:39 | 只看该作者
    支持一下~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2013-1-22 11:36:41 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2013-1-22 14:12:12 | 只看该作者
    听不错的,,用来学习qtp如何实现一个具体功能的很好的例子,
    里面包含了数组的使用,引用function还有描述性编程,感谢楼主!!!
    楼主用的uft11.5还是qtp11写的?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2013-1-22 14:41:43 | 只看该作者
    回复 6# jhbaiyang


        在QTP 9.2 下写的;在11下测试通过。

      本来登录以及选择始发、终点、日期等也作了自动化。但考虑到这几个值可能会不断变化,就把这些功能屏蔽掉了。
      登录功能之所以屏蔽掉,是因为如登录都不成功,也没有接下来的刷票过程了。

    之所以用描述性编程来写,想直接把代码粘上就能用,脱离对象库。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2013-1-22 16:22:51 | 只看该作者
    没用过QTP,支持下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2013-1-23 09:15:31 | 只看该作者
    貌似很强啊,充分的学以致用了,支持
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2013-1-23 09:18:37 | 只看该作者
    呵呵 闲来没事居然就可以写个脚本耍,学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2013-1-23 09:47:21 | 只看该作者
    楼主,我想请教你个问题,你那个登录时的验证码怎么处理的呢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2013-1-23 10:08:03 | 只看该作者
    回复 11# Nexi


        回复楼上:
    登录部分我删除掉,没有上传。
    验证码部分不好做,有人说用OCR,但OCR的识别率不敢恭维。

    我的处理方式是,自动输入用户名及密码,然后循环检查验证码输入框,如果字符串长度=4时,则登录,登录成功后点击车票预定,然后自动输入始发及终点、日期等

    后来考虑到某些因素,把这个给删除掉,没有上传。如果有需要的话,可以追加上去。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2013-1-23 11:18:17 | 只看该作者
    本帖最后由 louqqson008 于 2013-1-23 11:19 编辑

    非常厉害。至于验证码,可以先登录了,再执行这段QTP。不知道这样行不行
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2013-1-23 11:47:38 | 只看该作者
    膜拜
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
     楼主| 发表于 2013-1-23 12:04:53 | 只看该作者
    回复 13# louqqson008


        就是先登录,再执行这段,在运行设置里, 设置为“Record and run test on any open browser”就可以了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2013-1-23 16:23:17 | 只看该作者
    ocr识别的时候输入框=4时也不能确定他就是正确的验证码 啊?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
     楼主| 发表于 2013-1-23 18:53:41 | 只看该作者
    本帖最后由 mmsw450 于 2013-1-26 14:16 编辑

    回复 16# junyjiang

        我并没有用OCR,如果OCR识别率不高反而不如不用!
    阁下可看一下登录部分的代码 ;我写了很多注释,很容易理解。

    PS:51 的代码排版太乱,无奈下重新整理了一遍登录的代码。也可从一楼下载。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2013-1-26 14:48:47 | 只看该作者
    顶一个
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2013-1-27 15:58:18 | 只看该作者
    嗯,,好厉害,,支持
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2013-1-28 11:40:44 | 只看该作者
    楼主用的什么编程工具
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-22 15:05 , Processed in 0.085043 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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