在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
通常自动化测试项目到了一定的程序,编写的测试代码自然就会很多,如果很早已经编写的测试脚本现在某些基础函数、业务函数需要修改,那么势必要找出那些引用过这个被修改函数的地方,有些IDE支持全文查找和引用查找,而有些简单的可能就没有,因为日后要用到统计功能、和一些其它的需求,所以写了一个脚本。除了跟目录下全文查找引用过的文件外,还是支持统计查找到的数量,一次可以查找多个关键字,支持按主关键字来归类。 if kv.get('match', "") == "regex": ##指定了匹配方式为:正则 if kv['pattern'].match(line): ##匹配正则成功 match = True else: ##默认匹配方式为: 包含 if kv['key'] in line: ##包含了指定字符串 match = True if match: if kv.get('primary_key', False): kv['primary_key_value'] = line.split(kv['key']).strip() # kv['primary_key'] = False kv['times'] -= 1 ##匹配成功,同理剩余匹配的次数 -1 return primary_key def format_info(sum_list): tip_list = [] p_k_dict = {} for d in sum_list: p_k = d['primary_key_value'] if p_k not in p_k_dict: p_k_dict[p_k] = [0] * len(key_words) temp_list = [] m = d['match_result'] temp_list.append("文件名称:%s\n%s:%s\n" % (d['file_path'], d['primary_key'], d['primary_key_value'])) for i in range(len(m)): if 'primary_key' in key_words[i]: continue else: t_s = str(m[i]) temp_list.append("%s:%s\n" % (key_words[i]["display"], t_s)) p_k_dict[p_k][i] += m[i] tip_list.append("".join(temp_list)) p_k_dict[p_k][0] += 1 tip_list.append("===========================主键统计分割线===============================") total_dict = {} for kv in key_words: if 'primary_key' not in kv: total_dict[kv['display']] = 0 total_dict['全部文件数'] = 0 for k,v in p_k_dict.items(): temp_list = [] temp_list.append("主键:%s\n文件总数:%s\n" % (k, v[0])) for i in range(1, len(v)): temp_list.append("%s:%s\n" % (key_words[i]["display"], str(v[i]))) total_dict[key_words[i]["display"]] += v[i] tip_list.append("".join(temp_list)) total_dict['全部文件数'] += v[0] tip_list.append("===========================全部统计分割线===============================") temp_list = [] for k,v in total_dict.items(): temp_list.append("全部%s:%s\n" % (k,v)) tip_list.append("".join(temp_list)) tip_msg = "\n".join(tip_list) print tip_msg open(r"sum_case.log", "w").write(tip_msg) if __name__=="__main__": if len(sys.argv) > 1: root_list = sys.argv[1:] else: root_list = [os.curdir] sum_list = [] for root_dir in root_list: if os.path.exists(root_dir) and os.path.isdir(root_dir): sum_list.extend(loop_case(root_dir)) format_info(sum_list) else: print "给定的根目录无效\n%s" % root_dir 可以通过配置开头的设置来确定检查什么关键字,文件类型,过滤哪些文件和目录等 上一页 |
请发表评论