zoukankan      html  css  js  c++  java
  • [效率提升]工作中的那些命令行

    工作中,假设我们可以将批处理使用的炉火纯青的话。对于效率的提升作用是很明显的。今天,我们从日常工作的角度来给大家分享一些实例。

    一、执行測试脚本

    在完毕一些Case编写后,为了比較方便的回归运行,我们通常会编写一个批处理脚本来完毕脚本的启动运行。

    假设只在我们自己的机器上运行的话,我们直接将路径写死就能够了,比方说… untest.exe -vl2 -xo –e …script.txt

    可是假设Case的运行会分布到多台机器上运行,这时就要考虑整个运行过程的实现了。

    可以发现,关键的地方就是获取測试框架路径。而一般測试框架会将自己的路径加入到注冊项中,于是我们仅仅要可以从注冊表中获取到測试框架路径,问题就攻克了。

    怎样使用批处理读取注冊表的路径呢?使用reg命令…

    第一步,获取reg query的结果,输出到temp.txt中备用

    reg query "HKLMSOFTWAREMicrosoftWindowsCurrentVersionApp Paths untest.exe"/ve > temp.txt

    第二步。使用for命令,截取出最后的路径

    for/f "skip=1 tokens=1,2,*"%i in(temp.txt) do set x=%~dpk

    此处批处理的含义,切割temp.txt中的每一行,将第一项赋给%i,第二项赋给%j,其余项赋给%k。再使用~dp将%k变量的绝对路径文件夹获取到。

    关键点攻克了。剩下的就是批处理的拼装了。

    看下拼装后的代码:


    PS:因为reg命令在Windows XP SP1版本号存在bug,假设採用上面的方法存在问题,我们能够使用Python脚本辅助解决。

    添加Python脚本辅助后,批处理例如以下:


    当中Python脚本实现的过程,就是读取注冊表值并输出。

    二、检查防火墙例外

    在对产品安装卸载进行測试时,有时会測试产品是不是可以正常加入到防火墙例外中,于是就有了验证点。在防火墙例外中是不是包括了程序exe。调研后发现。防火墙例外可以通过两种简单的方式来验证,一种是注冊表项,一种是批处理。

    但存在一种情况是注冊表中没有但防火墙中产品已经处于例外了···这时我们能够使用批处理进行处理。

    首先,产品安装前。先确保防火墙例外中不包括对应产品,批处理实现例如以下:

    netsh firewall delete allowedprogram "test.exe"

    也就是将例外中的test.exe删除掉,确保系统环境的干净度。

    安装产品,检查防火墙例外中是否包括了对应产品。批处理实现例如以下:

    netsh firewall show allowedprogram

    上面的命令,能够输出全部的例外中的程序,我们能够再通过程序exe名称来过滤,看是否包括在了例外中。

    这样我们就能够封装一个函数,来推断是否已经在例外中了。


    使用一段时间后,会发现win7下有时会存在问题。发现win7下防火墙有了升级版本号netsh advfirewall,于是有了win7上的批处理命令:

    netsh advfirewall firewall show rule name="test.exe"

    又一次封装函数后,代码例如以下:

    三、结语

    以上是对工作中的两个场景做了总结分享。批处理或者windows命令在非常多地方都能够提高我们的工作效率,诸如:regedit打开注冊表,services.msc打开服务管理,mstsc打开远程连接,control打开控制面板等等,当然我们也能够使用一些批处理脚本来协助我们的日常工作。诸如清理系统垃圾、bat实现打包部署、bat实现一些服务的重新启动等等操作。

    在工作中,我们要有意识的将工作中的一些事情脚本化。提升工作效率。


    -----------------------------------------------------------------------

    欢迎回复内容到搜狗測试”公众号,与我们一起分享你的那些关注点。

  • 相关阅读:
    下载字体的正确姿势
    字体基础知识与实际运用
    CSP复习与模板
    地理必修三知识点
    LaTeX公式手册(全网最全)
    动态规划求解0/1背包问题
    JavaScript对象简介(一)
    DOM文档对象模型简介
    SQLServer 的case when语句使用实现统计
    批量初始化数组和memset函数
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7227646.html
Copyright © 2011-2022 走看看