目 录CONTENT

文章目录

项目中正则案例分享

懿曲折扇情
2022-07-11 / 0 评论 / 4 点赞 / 100 阅读 / 588 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-07-11,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
广告 广告

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

error_number.py

# coding=utf-8
"""
    作者:gaojs
    功能:
    新增功能:
    日期:2022/6/13 17:58
"""
import re
import requests
import os.path
import time

from selenium import webdriver


def get_error_case_number(module):
    """
    正则获取失败用例编号
    """
    if not os.path.exists('error'):
        os.mkdir('error')
    url = f'http://[192::1:192]/cgi-bin/test_report.pl?build=netIAG_3_2_0_6_gaojs_708&module={module}&result=fail'
    resp = requests.get(url)
    # print(resp.text)
    result = re.findall(r'[0-9]{10}.py', resp.text)
    for num in result:
        # 只要数字部分
        num = num.split('.')[0]
        with open(f'error/{module}_err.txt', mode='a') as fin:
            fin.write(num + '\n')
        print(num)


def get_fail_aaa_all(module):
    """
    selenium获取失败的http用例标号
    """
    if not os.path.exists('error'):
        os.mkdir('error')
    url = f'http://[192::1:192]/cgi-bin/test_report.pl?build=netIAG_3_2_0_6_gaojs_703&module={module}&result=fail'
    driver = webdriver.Chrome()
    driver.get(url)
    driver.maximize_window()
    if os.path.exists(f'error/{module}_err'):
        os.remove(f'error/{module}_err')
    time.sleep(5)
    for i in range(2, 300):
        try:
            result = driver.find_element_by_xpath(f'/html/body/form/table[2]/tbody/tr[{i}]/td[1]/a').text
            print(result)
            # 分别写在对应的文件
            # with open(f'error/aaa_err_{module}', mode='w') as fin:
            # 卸载同一个文件
            with open(f'error/{module}_err', mode='a') as fin:
#              fin.write(result + '\n')
        except:
            pass
    driver.close()


if __name__ == '__main__':
    get_error_case_number('http')
    # get_fail_aaa_all('http')
    # get_fail_aaa_all('radius')
    # get_fail_aaa_all('ldap')
    # get_fail_aaa_all('saml')
    # get_fail_aaa_all('tcptunnel')

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

get_release.py

#!/bin/bash
# coding=utf-8
"""
    作者:gaojs
    功能:
    新增功能:
    日期:2022/7/11 14:29
"""
import os.path
import re

import requests


def get_release():
    """
    正则匹配版本号
    """
    url = 'http://10.3.0.120/sp2/build/rel_netiag_10_0_4.html'
    resp = requests.get(url)
    # print(resp.text)
    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]
    print(base_url)
    base_name = os.path.split(base_url)[1]
    os.chdir('/var/www/html/builds/netIAG/')
    if not os.path.exists('/var/www/html/builds/' + base_name):
        os.system(r'curl -o %s  %s' % (base_name, base_url))

    print('*********************** 下载完成 **********************')


if __name__ == '__main__':
    get_release()

4

评论区