51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2336|回复: 2
打印 上一主题 下一主题

【我分享】BAT自动生成上传文件的测试数据

[复制链接]
  • TA的每日心情
    开心
    昨天 14:41
  • 签到天数: 1193 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2014-12-26 13:11:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 赵佳乐SMILE 于 2014-12-26 13:13 编辑

    新线中有一个上传光盘的功能
    首先上传一个光盘统计信息.csv 里面记录了有几张光盘和其它信息
    然后上传光盘
    限制为 统计信息有严格的名称要求,一个光盘名称只能上传一次
    在测试的时候 就采用手动复制一份原始光盘 然后重命名9个后缀名 在修改.csv里面光盘名称的方式
    非常的累啊,测试10条数据就得F2 100次啊
    于是趁最近环境挂掉了就写了个这个 自动产生测试数据的bat

    这个脚本也可以扩展为 上传图片、上传其他东西的测试 修改红色的部分和其他的地方就可以了
    因为以前的脚本是上午开发的 某天下午用的时候发现了1个bug
    14点 被解析成了04 把一行代码改成了4行 解决


    1. @echo off

    2. SetLocal EnableDelayedExpansion

    3. set /p filename=要建立的目录名:

    4. REM 创建目标文件目录名
    5. md %~dp0\%filename%

    6. echo 完成新目录%filename%创建!

    7. set /p disknum=要自动创建的光盘数:

    8. REM 取得当前时间
    9. set datavar=%date:~0,4%%date:~5,2%%date:~8,2%
    10. set timevar=%time:~0,2%
    11. if /i %timevar% LSS 10(set timevar=0%time:~1,1%)
    12. set newname=%datavar%%timevar%%time:~3,2%%time:~6,2%

    13. cd %filename%

    14. echo<font color="#ff0000"> ID,光盘名,表头1,表头2</font>>><font color="#ff0000">统计</font>.csv

    15. cd ..\data

    16. for /l %%j in (1,1,%disknum%) do (

    17.     echo 这是第 %%j 份光盘

    18.     REM 要查找的文件
    19.     set ext=<font color="#ff0000">*.后缀名1,*.后缀名2,*.wmv</font>
    20.    
    21.     for %%i in (!ext!) do (

    22.     xcopy %%~ni%%~xi ..\%filename%
    23.    
    24.     cd ..\%filename%
    25.     ren %%~ni%%~xi %newname%-%%j%%~xi

    26.     cd ..\data
    27.     )
    28.     cd ..\%filename%
    29.     echo %%j,%newname%-%%j%<font color="#ff0000">,数据1,数据2</font>>>统计.csv
    30.     cd ..\data
    31. )
    复制代码
    pause

    =======================================================================================
    写的过程是极其痛苦的
    因为很多东西都不会 现查现写现改
    推翻了自己3次的思想
    记录一下要点
    1.set /p 变量 等待用户输入
    2.%~dp0 取得当前.dat 所在的目录名 尽量不要用%cd%
    3. md 创建文件夹
    4.取得当前时间精确到时分秒 而且<10点的时候 还保留0 之前调的时候 不到10点会有个空格
    %date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%
    5.写入文件 echo 内容>>统计.csv 注意不用加“号等符号
    6.for 的使用 指定循环测试 for /l %%j in (1,1,%disknum%)  注意有逗号 第一次写的时候都没写逗号
    7.for %%i in (!ext!) 这个叫遍历文件
    8.xcopy 命令 用于复制
    9.ren 命令 用于重命名
    10.引用for 中的i 要使用2个%%
    ========================================================================================
    不足:
    1.如果data 目录下的一个后缀名 有多条记录 就处理不了
    2.在路径处理的时候还有些啰嗦 但是不知道怎么处理 因为如果直接写的话 数据写入不到csv中 所以就来回切换目录


    原文地址:http://user.qzone.qq.com/305132437/blog/1407318870


    本帖子中包含更多资源

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

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

    使用道具 举报

  • TA的每日心情
    开心
    昨天 14:41
  • 签到天数: 1193 天

    连续签到: 1 天

    [LV.10]测试总司令

    2#
     楼主| 发表于 2014-12-26 13:19:40 | 只看该作者
    这个代码编辑器 有点问题 代码分隔的不太对 就影响输出和暂停 影响不大
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    昨天 09:13
  • 签到天数: 935 天

    连续签到: 2 天

    [LV.10]测试总司令

    3#
    发表于 2014-12-26 13:23:13 | 只看该作者
    必须支持下~~
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-24 05:04 , Processed in 0.063711 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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