Files
cdtestplant_v1/utils/__pycache__/util.cpython-38.pyc

80 lines
10 KiB
Plaintext
Raw Normal View History

2025-04-29 18:09:00 +08:00
U
<00>vg;6<00>@sddlmZmZddlmZmZddlmZddlm Z ddl
m Z ddl m Z e dd<08>Zd d
<EFBFBD>Zd d <0C>Zd d<0E>Zdd<10>Zdd<12>Zdd<14>Zeeed<15>dd<17>Zdd<19>Zdd<1B>ZGdd<1D>de <09>ZGdd<1F>de <09>Zd d!<21>Zd"d#<23>Zd$d%<25>Zd&d'<27>Ze ed(<28>d)d*<2A>Zd+d,<2C>Z ed-<2D>d.d/<2F>Z!d0S)1<>)<02>Any<6E>List)<02>Dict<63>DictItem)<01>
TestDemand)<01>
HTMLParser)<01>QuerySet)<01>GenerateLoggeru 字典模块)<01>modelcCs<tjj||d<01><02><03>}|r|jStjdd|<01>d<04>d<05>dSdS)N<><02>
dict__code<EFBFBD>key<65>字典数据缺失u 字典数据u0数据缺失请检查相应数据是否存在<E5AD98><02>fragment<6E>message<67>)r<00>objects<74>filter<65>first<73>title<6C>logger<65>write_warning_log<6F><03>a<> dict_code<64>dict_obj<62>r<00>.E:\PycharmProject\cdtestplant_v1\utils\util.py<70> get_str_dict s
rcCs<tjj||d<01><02><03>}|r|jStjdd|<01>d<04>d<05>dSdS)Nr r<00>-查询字段数据缩写问题字典数据<E695B0>数据可能缺失rr<00>rrrr<00>
show_titlerrrrrr<00> get_str_abbrs
<EFBFBD>r$cCsBtjj||d<01><02><03>}|r$|j|jfStjdd|<01>d<04>d<05>dSdS)Nr <00>字典数据查询错误u字典u未查询到数据请检查r)r<00>)rrrrr<00>sortrrrrrr<00>get_str_dict_plus s
 r(cCs<tjj||d<01><02><03>}|r|jStjdd|<01>d<04>d<05>dSdS)Nr r%r r!rrr"rrrr<00> get_testType)s
<EFBFBD>r)cCsd<01>dt|jd<03>|jg<03>}|S)N<>_<>XQ<58>testType)<04>joinr)r,<00>ident)<02> test_item<65> reveal_identrrr<00> get_ident3s<12>r1cCsBt|j<01>d<01>d<00>d}t|<02><01>dd<05>}d<06>|<00>dd<08>|g<02>}|S) N<>-<2D><><EFBFBD><EFBFBD><EFBFBD>r&<00><00>0r*r+ZYL)<07>intr <00>split<69>str<74>rjustr-<00>replace)Z demand_ident<6E>caseZ key_indexZ
test_indexr0rrr<00>get_case_ident;sr<)r<00>str_listcCsjg}tjj|d<01>}|D]N}i}|D]@}||jkr"|j|d<|j|d<|j|d<|j|d<|<02>|<05>q"q|S)N<>r Z ident_version<6F>doc_name<6D> publish_date<74>source) rrrr rr?r@rA<00>append<6E>rr=<00>result<6C>qss<73>st<73>res<65>qsrrr<00> get_list_dictBs




rIcCsVg}tjj|d<01>}|D]:}i}|D],}||jkr"|j|d<|j|d<|<02>|<05>q"q|S)uI传入字典的字符串列表输出每个元素为dict的列表信息r>r<00>index)rrrr rr'rBrCrrr<00>get_list_dict_infoQs


rKcCs>tjj|d<01>}i}|D]"}||jkr|j|d<|j|d<q|S)uH传入字典的字符串单个表示输出dict包含排序index字段r>rrJ)rrrr rr')rZitem_strrErGrHrrr<00> get_dict_info_s

 rLc@s4eZdZdd<02>Zdd<04>Zdd<06>Zdd<08>Zd d
<EFBFBD>Zd S) <0C> MyHTMLParsercCst<00>|<00>g|_dS<00>N<>r<00>__init__<5F>
allStrList<EFBFBD><01>selfrrrrPks
zMyHTMLParser.__init__cCstd|<01>dS)Nu'HTML解析器出错error信息为)<01>print)rSrrrr<00>erroroszMyHTMLParser.errorcCs$|dkr |dd}|j<00>|<03>dS)N<>imgrr&<00>rQrB)rS<00>tag<61>attrsZ
img_base64rrr<00>handle_starttagrs zMyHTMLParser.handle_starttagcCsdSrNr)rSrXrrr<00> handle_endtagwszMyHTMLParser.handle_endtagcCs|dkr|j<00>|<01>dS<00>N<>
rW<00>rS<00>datarrr<00> handle_datazszMyHTMLParser.handle_dataN)<08>__name__<5F>
__module__<EFBFBD> __qualname__rPrUrZr[r`rrrrrMjs
rMc@seZdZdd<02>Zdd<04>ZdS)<06>MyHTMLParser_pcCst<00>|<00>g|_dSrNrOrRrrrrP<00>s
zMyHTMLParser_p.__init__cCs |dkrt|<01>|j<01>|<01>dSr\)rTrQrBr^rrrr`<00>szMyHTMLParser_p.handle_dataN)rarbrcrPr`rrrrrdsrdcCs<>i}|D]6}t|jd<01>}||<01><02>kr6||d7<qd||<qg}|<01><03>D](\}}|<04>d<03>|<05>d<04>|<06>d<05>g<02><01>qLd<06>|<04>S)uS传入问题qs生成到文档的字符串严重问题4个、一般问题10个Z problemGrader&ru问题<E997AE><>、)r<00>grade<64>keys<79>itemsrBr-)<07>problemsZproblem_r1_grade_dict<63>problemZ grade_keyZproblem_r1_grade_listr <00>valuerrr<00>create_problem_grade_str<74>s  
"rmcCs|i}|D]6}t|jd<01>}||<01><02>kr6||d7<qd||<qg}|<01><03>D]$\}}|<04>d<03>|<05>|<06>d<04>g<02><01>qLd<05>|<04>S)uS传入问题qs生成到文档的字符串文档问题1个程序问题10个Z problemTyper&rrerf)r<00>typerhrirBr-)rjZproblem_r1_type_dictrkZtype_keyZproblem_r1_type_listr rlrrr<00>create_problem_type_str<74>s  
rocCs^t<00>}|D]}|j}|<01>|j<03>q
tdt|<01><01>}|jdd<03>d<04>ttdd<03>|<04><02>}|t|<04>fS)u<>传入用例的qs生成其测试类型的字符串例如包含xxx测试5个xxx测试11个返回的是元组第二个元素表示测试类型个数r,cSs t|d<00>S<00>NrJ<00>r6<00><01>xrrr<00><lambda><3E><00>z*create_str_testType_list.<locals>.<lambda><3E>r cSs|dS)Nrrrrrrrrt<00>ru) <09>set<65>test<73>addr,rK<00>listr'<00>map<61>len)<06>casesZ test_type_setr;<00>demandZtest_type_listZround1_testType_listrrr<00>create_str_testType_list<73>srcCs<>|ddddddd<03>}|dD]h}|d|d7<|d|d7<|d|d7<|d|d7<|d |d 7<q|S)
u]辅助函数将下面函数返回的summary_list改造为以需求类型执行统计列表rr)r<00> total_count<6E> exe_count<6E> not_exe_count<6E>
pass_count<EFBFBD>not_pass_count<6E> demand_listr<74>r<>r<>r<>r<>r)<03>itemZtransform_item<65>itrrr<00> util_func<6E>s<02> r<>)<02>demands<64> project_identc
Cs<>i}|D<00>]x}|j}t|d<01>\}}|dt|<06>}|jdddddddd<06>}t<04>} |j<05><06>D]<5D>}
|dd7<d } d } |
j<07><06>D](} | jd
kr<>d } d } q<>| jd kr<>d } q<>| r<>|d d7<n|dd7<d|d<| r<>|dd7<n|dd7<|
j <09><06>D]*}d|d|j
<EFBFBD> dd<15>}| <09> |<0F><00>qqZt t| <09><01>dk<04>rZd<16>t| <09><01>|d<||<02><10>k<06>rx||<00>|<08>q|g||<qg}|<02><12>D]\}}||d<18>}|<10>|<13><00>q<>|jdd<1A>d<1B>|D]}|d<00>d<02>d|d<<00>q<>ttt|<10><02>}||fS)u
[
{
'title':'功能测试_5',
'demand_list':[
{
'name': '测试项1',
'total_count': 1,
'exe_count': 1,
'not_exe_count': 0,
'pass_count': 1,
'not_pass_count': 0,
'conclusion': '通过',
'problems': '/'
}
]
},
]
r,r*ru通过<E9809A>/)<08>namer<65>r<>r<>r<>r<><00>
conclusionrjr<>r&T<>2F<32>3r<33>r<>u 未通过r<E8BF87>r<>r<>ZPT_r4r5<00>rj)rr<>cSst|d<00>d<02>d<00>S)Nrr*r3)r6r7rrrrrrt ruz'create_demand_summary.<locals>.<lambda>rvr)r,r(r8r<>rw<00>tcField<6C>all<6C>step<65>passed<65> caseFieldr.r9ryr|rzr-rhrBrir'r7r{r<>)r<>r<>Z summary_dictr~Z test_type_numZ testTypeStrZ testTypeSortZ testType_infoZ demand_dictZdemand_problem_listr;ZisPassedZisExer<65>rkZ problem_identZ summary_listr rlZone_dict<63>oneZdemandType_exe_listrrr<00>create_demand_summary<72>sh
<02> 

 <02>r<>c Csrdddddddddd<03> dddddddddd<03> dddddddddd<03> dddddddddd<03> g}|D<00>]
}t|j<01>d}|jdkr<>||d d7<n<>|jd
kr<>||d d7<n<>|jd kr<>||d d7<nb|jdkr<>||dd7<nB|jdk<02>r||dd7<n |jdk<02>r6||dd7<|jdk<02>rX||dd7<q`||dd7<q`|S)u8传入问题单qs输出测试问题统计表的数据u 一般问题r) r<><00>xq_count<6E>sj_count<6E>wd_count<6E>bm_count<6E>
data_count<EFBFBD> other_count<6E> closed_count<6E>non_closed_countu 严重问题u建议u 重大问题r&<00>1r<31>r<>r<>r<>r<><00>4r<34><00>5r<35><00>6r<36>r<>r<>)r6rgrn<00>status)rjZres_listrkrJrrr<00>create_problem_tablesv<02> <02> <02> <02><04>*




   r<>)<01>returncCsht|<00>d<01><01><02><00>d<01><01>}dd<03>|D<00>}td|<02>}|jdd<05>d<06>dd<03>|D<00>}t|<03>dkrdd <09>|<03>Sd
S) u_传入测试项qs返回字符串类似于“静态分析、代码审查、功能测试等”r,cSsg|] }|d<00>qS)r,r<00><02>.0r<EFBFBD>rrr<00>
<listcomp>Ysz(get_demand_testTypes.<locals>.<listcomp>cSs t|d<00>Srprqrrrrrrt[ruz&get_demand_testTypes.<locals>.<lambda>rvcSsg|] }|d<00>qS)rrr<>rrrr<>\srrfu测试)rz<00>values<65>distinct<63>order_byrKr'r|r-)Z demand_qsZ testType_listZ t_code_listZt_strrrr<00>get_demand_testTypesVs 
r<>N)"<22>typingrrZapps.dict.modelsrr<00>apps.project.modelsr<00> html.parserr<00>django.db.modelsrZ+apps.createSeiTaiDocument.extensions.loggerr rrr$r(r)r1r<r8rIrKrLrMrdrmrorr<>r<>r<>r<>rrrr<00><module>s0    


 
 
  XB