【shell脚本】shell脚本实现的 函数差集查找,shell脚本


文本地址

点击关注微信公众号 wenyuqinghuai

 

分享提纲:

  1. 问题背景

  2. 代码实现

 

 

1.问题背景

  在做公司的测试的自动化测试时,覆盖了一些开发代码的函数,但是那些还没有做,使用一个函数一个函数搜索的方法还是比较慢的,这里提供一种快速找出来还有那些函数没有做的方法。

     大致的思路是,完全使用shell脚本实现:

  1)【搜集函数html】

    将已经做了的函数,因为可以拿到url的html源码,匹配出一个 函数集合 sourceWeb.log

  2)【执行脚本获取结果】

-- 执行脚本 sh run.sh, 里边做的工作是获取开发代码中的函数集合 local_fun.log,遍历这些函数,没有在文件sourceWeb.log中的就放到最终结果 result.log -- result.log 就是那些还未加到自动化测试的开发的函数  

 

2.代码实现

 

shell脚本 run.sh的代码如下,最终生成结果是 result.log

 1 #!/bin/sh
 2 #以下为多行注释 http://www.cnblogs.com/emanlee/p/3749911.html
 3 :<<eof
 4  【使用说明】
 5   1)【搜集函数html】
 6 
 7     将已经做了的函数,因为可以拿到url的html源码,匹配出一个 函数集合 sourceWeb.log
 8 
 9   2)【执行脚本获取结果】
10     -- 执行脚本 sh run.sh, 里边做的工作是获取开发代码中的函数集合 local_fun.log,遍历这些函数,没有在文件sourceWeb.log中的就放到最终结果 result.log
11     -- result.log 就是那些还未加到自动化测试的开发的函数
12 eof
13 
14 
15 #1.获取自动化测试已经有的函数 web_fun.log
16 function getSourceWebUrl()
17 { #{{{
18     #获取所在匹配行
19     grep "function_css_class” sourceWeb.url -rn |awk -F : '{printf $1+1" \n"}'>1.num.log
20     #获取自动化系统已经有的函数
21     cat 1.num.log |xargs -I {}  sed -n '{}p' sourceWeb.url >web_fun.log
22     #删除临时文件
23     rm 1.num.log
24 } #}}}
25 
26 #2.获取开发函数 service_fun.log
27 function getLocalFunction()
28 { #{{{
29     grep "public function" ./ -rn|awk -F : '{printf $3" \n"}'|awk  '{printf $3" \n"}'|awk -F '(' '{printf $1" \n"}'>local_fun.log
30 } #}}}
31 
32 #3.获取最后的结果(还没有加到自动化中的函数 result.log)
33 function getLast()
34 { #{{{
35     echo   "">lastResult.log
36     #echo   "@@@-----------------newStart">>lastResult.log
37     cat  local_fun.log| while read line
38 do
39     #echo "File:${line}"
40     grep_res=`grep ${line} web_fun.log -rn`
41     if [ -z "$grep_res" ]
42     then
43         echo -e "\n[0未加入]${line}没有加入自动化\n"
44         echo -e "${line}">>lastResult.log
45     else
46         echo -e "[1加入了]${line}已加入自动化"
47 
48     fi
49 done
50 #排序去重
51 sort lastResult.log |uniq>result.log
52 #echo  -e "@@@-------------------------newEnd\n\n">>lastResult.log
53 } #}}}
54 
55 #4. 删除中间文件
56 function rmTmpLog()
57 { #{{{
58     #删除临时文件
59     rm web_fun.log
60     rm local_fun.log
61     rm lastResult.log
62 } #}}}
63 
64 echo -e "start\n"
65 getSourceWebUrl;
66 getLocalFunction;
67 getLast;
68 #删除中间文件
69 rmTmpLog;
70 echo -e "end\n"

 

 

               

相关内容

    暂无相关文章