项目中正则案例分享

举报
建帅小伙儿 发表于 2022/09/25 01:01:14 2022/09/25
【摘要】 一、正则案例1:获取用例失败编号 error_number.py # coding=utf-8""" 作者:gaojs 功能: 新增功能: 日期:2022/6/13 17:58"""import reimport requestsimport os.pathimport time from sele...

一、正则案例1:获取用例失败编号

error_number.py


   
  1. # coding=utf-8
  2. """
  3. 作者:gaojs
  4. 功能:
  5. 新增功能:
  6. 日期:2022/6/13 17:58
  7. """
  8. import re
  9. import requests
  10. import os.path
  11. import time
  12. from selenium import webdriver
  13. def get_error_case_number(module):
  14. """
  15. 正则获取失败用例编号
  16. """
  17. if not os.path.exists('error'):
  18. os.mkdir('error')
  19. url = f'http://[192::1:192]/cgi-bin/test_report.pl?build=netIAG_3_2_0_6_gaojs_708&module={module}&result=fail'
  20. resp = requests.get(url)
  21. # print(resp.text)
  22. result = re.findall(r'[0-9]{10}.py', resp.text)
  23. for num in result:
  24. # 只要数字部分
  25. num = num.split('.')[0]
  26. with open(f'error/{module}_err.txt', mode='a') as fin:
  27. fin.write(num + '\n')
  28. print(num)
  29. def get_fail_aaa_all(module):
  30. """
  31. selenium获取失败的http用例标号
  32. """
  33. if not os.path.exists('error'):
  34. os.mkdir('error')
  35. url = f'http://[192::1:192]/cgi-bin/test_report.pl?build=netIAG_3_2_0_6_gaojs_703&module={module}&result=fail'
  36. driver = webdriver.Chrome()
  37. driver.get(url)
  38. driver.maximize_window()
  39. if os.path.exists(f'error/{module}_err'):
  40. os.remove(f'error/{module}_err')
  41. time.sleep(5)
  42. for i in range(2, 300):
  43. try:
  44. result = driver.find_element_by_xpath(f'/html/body/form/table[2]/tbody/tr[{i}]/td[1]/a').text
  45. print(result)
  46. # 分别写在对应的文件
  47. # with open(f'error/aaa_err_{module}', mode='w') as fin:
  48. # 卸载同一个文件
  49. with open(f'error/{module}_err', mode='a') as fin:
  50. # fin.write(result + '\n')
  51. except:
  52. pass
  53. driver.close()
  54. if __name__ == '__main__':
  55. get_error_case_number('http')
  56. # get_fail_aaa_all('http')
  57. # get_fail_aaa_all('radius')
  58. # get_fail_aaa_all('ldap')
  59. # get_fail_aaa_all('saml')
  60. # get_fail_aaa_all('tcptunnel')

二、正则案例2:自动下载release

get_release.py


   
  1. #!/bin/bash
  2. # coding=utf-8
  3. """
  4. 作者:gaojs
  5. 功能:
  6. 新增功能:
  7. 日期:2022/7/11 14:29
  8. """
  9. import os.path
  10. import re
  11. import requests
  12. def get_release():
  13. """
  14. 正则匹配版本号
  15. """
  16. url = 'http://10.3.0.120/sp2/build/rel_netiag_10_0_4.html'
  17. resp = requests.get(url)
  18. # print(resp.text)
  19. base_url = re.findall(r'http:\/\/10\.3\.0\.120\/sp2\/build\/nodebug-Rel_NetIAG_[0-9]_[0-9]_[0-9]_[0-9]\.click', resp.text)[0]
  20. print(base_url)
  21. base_name = os.path.split(base_url)[1]
  22. os.chdir('/var/www/html/builds/netIAG/')
  23. if not os.path.exists('/var/www/html/builds/' + base_name):
  24. os.system(r'curl -o %s %s' % (base_name, base_url))
  25. print('*********************** 下载完成 **********************')
  26. if __name__ == '__main__':
  27. get_release()

文章来源: blog.csdn.net,作者:懿曲折扇情,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_41332844/article/details/126837358

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。