实用案例-软件功能测试自动化实战教程(8)

发表于:2015-4-09 08:45

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:周焕来、贾海涛    来源:51Testing软件测试网原创

分享:
  ③ File descriptor:
  根据表11-4编写File descriptor的XML描述。
<Block name="DataDescriptor">
<Relation type="when" when="int(self.find('lfh_BitFlag.lfh_bf_Zeroed').defaultValue) == 1"/>
<String name="dd_Sig" valueType="hex" value="504b0708" token="true" mutable="false"/>
<Number name="dd_CRC32" size="32" endian="little" signed="false"/>
<Choice name="dd_chooser">
<Block name="dd_64">
<Number name="dd_CompSize64" size="64" endian="little" signed="false"/>
<Number name="dd_DecompSize64" size="64" endian="little" signed="false" constraint="'4b50' not in hex(value)"/>
</Block>
<Block name="dd_32">
<Number name="dd_CompSize32" size="32" endian="little" signed="false"/>
<Number name="dd_DecompSize32" size="32" endian="little" signed="false"/>
</Block>
</Choice>
</Block>
</Block>
  (2)压缩的目录源数据
  根据表11-5编写压缩的目录源数据的XML描述。
<Block name="CentralDirectoryStructure" minOccurs="0" maxOccurs="1">
<Block name="FileHeader" maxOccurs="1024">
<String name="cfh_Signature" valueType="hex" value="504b0102" token="true" mutable="false"/>
<Number name="cfh_Ver" size="16" endian="little" signed="false"/>
<Number name="cfh_VerReq" size="16" endian="little" signed="false"/>
<Flags name="cfh_BitFlag" size="16" endian="little" signed="false">
<Flag name="cfh_bf_Encrypted" size="1" position="0"/>
<Flag name="cfh_bf_CompMethod1" size="1" position="1"/>
<Flag name="cfh_bf_CompMethod2" size="1" position="2"/>
<Flag name="cfh_bf_Zeroed" size="1" position="3"/>
<Flag name="cfh_bf_Deflate" size="1" position="4"/>
<Flag name="cfh_bf_Patched" size="1" position="5"/>
<Flag name="cfh_bf_Strong" size="1" position="6"/>
<Flag name="cfh_bf_Unused1" size="1" position="7"/>
<Flag name="cfh_bf_Unused2" size="1" position="8"/>
<Flag name="cfh_bf_Unused3" size="1" position="9"/>
<Flag name="cfh_bf_Unused4" size="1" position="10"/>
<Flag name="cfh_bf_EFS" size="1" position="11"/>
<Flag name="cfh_bf_Reserved1" size="1" position="12"/>
<Flag name="cfh_bf_Enc_Cd" size="1" position="13"/>
<Flag name="cfh_bf_Reserved2" size="1" position="14"/>
<Flag name="cfh_bf_Reserved3" size="1" position="15"/>
</Flags>
<Number name="cfh_CompMethod" size="16" endian="little" signed="false"/>
<Number name="cfh_LastModTime" size="16" endian="little" signed="false"/>
<Number name="cfh_LastModDate" size="16" endian="little" signed="false"/>
<Number name="cfh_CRC32" size="32" endian="little" signed="false" mutable="false"/>
<Number name="cfh_CompSize" size="32" endian="little" signed="false"/>
<Number name="cfh_DecompSize" size="32" endian="little" signed="false"/>
<Number name="cfh_FileNameLen" size="16" endian="little" signed="false">
<Relation type="size" of="cfh_FileName"/>
</Number>
<Number name="cfh_ExtraFldLen" size="16" endian="little" signed="false">
<Relation type="size" of="cfh_FldName"/>
</Number>
<Number name="cfh_FileCommLen" size="16" endian="little" signed="false">
<Relation type="size" of="cfh_FileComment"/>
</Number>
<Number name="cfh_DiskNumStart" size="16" endian="little" signed="false"/>
<Number name="cfh_IntFileAttrib" size="16" endian="little" signed="false"/>
<Number name="cfh_ExtFileAttrib" size="32" endian="little" signed="false"/>
<Number name="cfh_RelOffsetLFH" size="32" endian="little" signed="false"/>
<String name="cfh_FileName">
<Fixup class="checksums.ExpressionFixup">
<Param name="ref" value="lfh_FileName" />
<Param name="expression" value="data" />
</Fixup>
</String>
<String name="cfh_FldName"/>
<String name="cfh_FileComment"/>
</Block>
<Block name="CDSDigitalSignature" minOccurs="0" maxOccurs="1">
<String name="cdsds_Signature" valueType="hex" value="504b0505" token="true" mutable="false"/>
<Number name="cdsds_DataSize" size="16" endian="little" signed="false">
<Relation type="size" of="cdsds_Data"/>
</Number>
<Blob name="cdsds_Data" mutable="false"/>
</Block>
</Block>
  (3)目录结束标识结构:
  根据表11-6编写目录结束标识结构的XML描述。
  <Block name="EndOfCentralDirectoryRecord">
  <String name="eocd_Signature" valueType="hex" value="504b0506" token="true" mutable="false"/>
  <Number name="eocd_NumOfDisk" size="16" endian="little" signed="false"/>
  <Number name="eocd_NumOfDiskWCD" size="16" endian="little" signed="false"/>
  <Number name="eocd_TotNumEntriesOD" size="16" endian="little" signed="false"/>
  <Number name="eocd_TotNumEntriesICD" size="16" endian="little" signed="false"/>
  <Number name="eocd_SizeOfCenDir" size="32" endian="little" signed="false">
  <Relation type="size" of="CentralDirectoryStructure" isOutputOnly="true"/>
  </Number>
  <Number name="eocd_OffsetToCenDir" size="32" endian="little" signed="false">
  <Relation type="size" of="LocalFileHeader" isOutputOnly="true"/>
  </Number>
  <Block name="ZipFileCommentBlock" minOccur="0" maxOccur="1">
  <Number name="eocd_CommLen" size="16" endian="little" signed="false">
  <Relation type="size" of="eocd_Comment"/>
  </Number>
  <Blob name="eocd_Comment"/>
  </Block>
  </Block>
本文选自《软件功能测试自动化实战教程》,本站经作者的授权。
版权声明:51Testing软件测试网获作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
相关文章
无界面应用功能自动化测试工具Peach-软件功能测试自动化实战教程(7)
33/3<123
2023测试行业从业人员调查问卷已开启,千元大奖正在等你~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号