SIPp脚本编写方法基础m

合集下载

sipp操作说明cn文档

sipp操作说明cn文档

sipp操作说明cn文档用途:SIPP远程主机[:远程端口][选项]例子:使用嵌入式服务器(UAS)运行SIPP方案:/SIPP-序列号UAS在同一主机上,使用嵌入式客户端(UAC)运行SIPP方案:/SIPP-序列号UAC 127.0.0.1可用选项:***方案文件选项:-sd:转储默认方案(嵌入在sipp可执行文件中)-SF:加载备用XML方案文件。

了解有关XML方案的更多信息语法,使用-sd选项转储嵌入的方案。

它们包含所有必要的帮助。

-OOCSF:加载呼叫中断场景。

-OOCSN:加载呼叫外场景。

-sn:使用默认方案(嵌入在sipp可执行文件中)。

如果此选项是省略,加载标准Sipstone UAC方案。

此版本中的可用值:-“UAC”:标准Sipstone UAC(默认)。

-“UAS”:简单的UAS响应程序。

-“regexp”:标准Sipstone UAC-带有regexp和变量。

-“branchc”:场景中的分支和条件分支-客户端。

-“分支”:场景-服务器中的分支和条件分支。

默认3pcc方案(请参见-3pcc选项):-“3pcc-c-a”:控制器A侧(必须在所有其他3pcc之后启动)场景)-“3pcc-c-b”:控制器B侧。

-“3pcc-a”:A侧。

-“3pcc-b”:B侧。

***IP、端口和协议选项:-T:设置传输模式:-U1:具有一个套接字的UDP(默认值),-un:udp,每次调用一个套接字,-ui:udp,每个IP地址一个套接字。

必须定义IP地址在注入文件中。

-T1:TCP,带一个插座,-Tn:TCP,每次调用一个套接字,-c1:u1+压缩(仅当加载压缩插件时)-cn:un+压缩(仅当加载压缩插件时)。

这个插件是不提供SIPP。

-i:为“contact:”、“via:”和“from:”头设置本地IP地址。

违约是主主机IP地址。

-P:设置本地端口号。

默认值是由系统。

-bind_local:将套接字绑定到本地IP地址,即本地IP地址用作源IP地址。

SIP协议基本流程学习

SIP协议基本流程学习
SIP协议基本流程交流学习
公司
徽标
提纲
SIP协议概述 SIP协议基本流程及抓包分析
SIP协议概述

Sห้องสมุดไป่ตู้P协议概念 基本SIP协议功能实体 SIP协议消息 SIP消息基本结构
1 SIP协议概念
SIP(Session Initiation Protocol) 会话初始协 议,“是一个应用层的信令控制协议。用于创建、 修改和释放一个或多个参与者的会话。这些会话可 以是Internet多媒体会议、IP电话或多媒体分发。 会话的参与者可以通过组播(multicast) 、网状单 播(unicast)或两者的混合体进行通信。”
sipsip重定位服务器或代理服务器用来获得被叫位重定位服务器或代理服务器用来获得被叫位置的一种服务可由定位服务器提供但置的一种服务可由定位服务器提供但sipsip协议不规定协议不规定sipsip服务器如何请求定位服服务器如何请求定位服代理代理服务器代理代理服务器proxyproxyproxyseverproxysever
初始用户注册请求携带authorization信息;如果启用该配 置项,设备在第一次发起注册时就会携带authorization信 息
REGISTER sip:138.1.0.200 SIP/2.0 From: "3232301"<sip:3232301@138.1.0.200>;tag=111c028-8a010084-13c4-400301a-379300d6-1a To: "3232301"<sip:3232301@138.1.0.200> Call-ID: 10a5cd0-8a010084-13c4-40030-1a-6918b0-1a CSeq: 1 REGISTER Via: SIP/2.0/UDP 138.1.0.132:5060;branch=z9hG4bK-1a-6888-3122f5a7 Max-Forwards: 70 Supported: replaces User-Agent: Gaoke MG6000 Serial Gateway Contact: "3232301"<sip:3232301@138.1.0.132:5060> Expires: 100 Authorization: Digest username="3232301",realm="",nonce="",uri="sip:138.1.0.200",response="",algorithm= MD5 Content-Length: 0

SIP服务器测试工具SIPp使用指导

SIP服务器测试工具SIPp使用指导

SIP服务器性能测试工具SIPp使用指导Contents1安装及概述: (1)1.1SIPp安装 (2)1.2SIPp使用 (3)1.2.1 uac.bat: (3)1.2.2 data.csv: (4)1.2.3 uac.xml: (4)2常见问题: (8)2.1uas.bat (8)2.2uas.xml (9)3操作截图: (13)3.1uac: (13)3.2uas: (14)1 安装及概述:SIPp是一个测试SIP协议性能的工具软件。

这是一个GPL的开放源码软件。

它包含了一些基本的SipStone用户代理工作流程(UAC和UAS),并可使用INVITE和B YE 建立和释放多个呼叫。

它也可以读XML的场景文件,即描述任何性能测试的配置文件。

它能动态显示测试运行的统计数据(呼叫速率、信号来回的延迟,以及消息统计)。

周期性地把CSV统计数据转储,在多个套接字上的TCP和UDP,利用重新传输管理的多路复用。

在场景定义文件中可以使用正规表达式,动态调整呼叫速率。

SIPp可以用来测试许多真实的SIP设备,如SIP代理,B2BUAs,SIP媒体服务器,SIP/x网关,SIP PBX,等等,它也可以模仿上千个SIP代理呼叫你的SIP系统。

SIPp的网址:/,这里可以下载最新版的SIPp软件,并且有英文资料可供查阅。

1.1 SIPp安装SIPp提供Linux,Windows和HPUX平台的版本。

Windows平台上的安装很简单,下面说一下Linux下的安装。

首先,可以从/projects/sipp/files/sipp/3.2/下载最新版的SIPp,解压之后就得到一个rpm文件,你可以使用rpm命令来完成安装。

如果你拿到的是绿色版的SIPp,那么你需要对其重新编译才能使用。

SIPp是用C++写的,因此系统必须支持G++才可成功编译。

SIPp支持四种不同的安装模式:1) 没有TLS支持与密码验证支持:a) # tar -xvf sipp-1.1rc6.tar.gzb)# cd sipp-1.1.rc6c)# makeMake出来的sipp文件就是一个可执行的文件,只需要搭配场景xml文件与csv文件即可进行SIP测试,这是最常用的安装。

SIP系统测试工具SIPP--个人使用经验

SIP系统测试工具SIPP--个人使用经验

SIP系统测试工具SIPP--个人使用经验刚开始接触SIPP,是无意中整理自己的文档时候。

很早的时候从一个FTP上拖下一堆SIP相关的资料,没想到竟然藏了这么强的一个软件。

^^ 动手使用前,在网上搜索了一些使用SIPP的文章。

长了不少经验,走了不少弯路。

负责任的说,多数是不负责任的互相转来转去。

个人经验1:SIPP的主站上的说明是最详细最完善的(当然!这是废话。

)读的懂原文的人自然不屑看那些互转的文章,正是不愿意或看不懂原文的人才会找所谓的中文资料(比如我)。

个人经验2:即使拿着金山词霸自己翻译原文,也比跑瞎道强!SIPP主站文档地址:/doc/reference.html第一步:安装On Linux, SIPp is provided in the form of source code. You will need to compile SIPp to actually use it.Pre-requisites to compile SIPp are (see Compilation tips):C++ Compilercurses or ncurses libraryFor authentication and TLS support: OpenSSL &gt;=0.9.8For pcap play support: libpcap and libnetFor distributed pauses: Gnu Scientific LibrariesYou have four options to compile SIPp:Without TLS (Transport Layer Security) and authentication support: This is the recommended setup if youdon't need to handle SIP authentication and/or TLS. In this case, there are no depencies to install before building SIPp. It is straight forward: # gunzip sipp-xxx.tar.gz # tar -xvf sipp-xxx.tar # cd sipp # makeWith TLS and authentication support, you must have installed OpenSSL library (&gt;=0.9.8) (which may come with your system). Building SIPp consist only in adding the "ossl" option to the make command: # gunzip sipp-xxx.tar.gz # tar -xvf sipp-xxx.tar # cd sipp # make osslWith PCAP play and without authentication support: # gunzip sipp-xxx.tar.gz # tar-xvf sipp-xxx.tar # cd sipp # make pcapplayWith PCAP play and authentication support: # gunzip sipp-xxx.tar.gz # tar -xvfsipp-xxx.tar # cd sipp # make pcapplay_ossl以上原文,太要看看了。

SIP基础培训精品文档

SIP基础培训精品文档
务进行排序的,提供事务的唯一标志,并且区分请求和请求的重发 Contact 会话参与者的联系方式
头域定义二
Via
用来描述请求当前经历的路径的,并且标志了应答所应当经过的路径。请求每经过一次转发, 都会将本次转发实体的地址记录到via头域中,应答每经过一次转发,都会将本转发实体的地址 从via头域中删除,并且Via头域的branch ID参数提供了事务的标志,并且用于proxy来检查循环 路由
典型的STATUS-CODE
100:正在尝试-和Q.931 CALL PROCEEDING 类似,可能会被代理服务器、或者呼叫信令路径上 的其他中间SIP服务器返回
180:正在振铃-和Q.931 ALERTING类似。表示虚拟或者真实的电话正在振铃 200: 请求成功执行(OK) 300:在对请求中的地址进行解析时出现多个选择。它们会被返回,呼叫者可以从列表中挑出一个
SIP(Session Initiation Protocol) 基础培训
Jade 2016/11
目录
概述 SIP消息 SIP流程 RTP协议 DTMF
SIP
会话启动协议SIP(Session Initiation Protocol)是一个在IP网 络上进行多媒体通信的应用层控制协议,它被用来创建、修改、 和终结一个或多个参加者参加的会话进程。
SIP参考标准 – RFC 2327 Session Description Protocol – RFC 3264 Offer Answer Model with SDP
SIP 应用组网
Storage Server
PARLAY API
TCP/IP
TCP/IP Internet
WMC

SIP制作方法

SIP制作方法

制作SIP的重点及注意事项1.什么是SIP?SIP是STANDARD INSPECTION PROCEDURE的缩写,翻译成中文检验标准指导书,是为确保产品的性能,寿命,可靠性,安全性,经济性,尺寸和外观是否满足明确和隐含要求而制定的一个准则。

2.分类检验标准一般分为内部检验标准和外部检验标准,外部检验标准又可分为客户检验标准和行业检验标准。

3.检验标准的意义a.保证产品质量的一致性。

b.为公司节约成本.c.减少社会资源浪费。

d.方便客户寻找替代品。

f.为检验员判定产品某一特性是否合格提供依据。

4.检验标准书包括的项目4.1.基本项目:公司名称,文件名称,发行日期,发行版本,文件编号,产品名称,产品料号,检验工程站别名称,检验项目,检验标准,检验方法,检验环境和设施,检验频率,制定者,审核人。

4.2.衍生项目:使用表单,检验步骤及其编号,机种,核准,不良履历,日期,负责人,备注,严重度。

检验项目包括:外观,尺寸,特性。

5.重要项目说明a.产品名称,产品料号,文件编号一方面为了查找,另一方面区别与其它产品,相当于一种产品的代号。

b.检验方法包括目视,量测,实验,其中量测和实验是借用二次元,厚度规,拉力急等仪器,设备来完成检验。

c.使用表单通常是检验者记录检验结果的表单,记录内容包括:产品名称,规格,批量,编号,使用机器,设备,检验时间,检验人,检验结果数据,检验结果。

d.检验频率是指对总样本数抽多少的一个比率或间隔多长时间抽取一定的样本数。

e.严重度分危害,严重,轻微,危害指对人的生命安全造成一定影响;严重指完全或部分影响使用,轻微指不会影响使用,但存在一些瑕疵使客户的满意度降低。

f.制定栏目填写制定此SIP的品质工程师自己的名字,审核和核准栏目为品质部门的主管填写。

g.尺寸是客户对某一种产品的长度,宽度,弧度等特性的要求,其检验标准栏填写客户要求这些特性和允许的公差。

6.如何制作一份完整的SIP?6.1.如何识别产品的质量特性中的固有特性和不合格特性?产品的质量特性分为固有特性和不合格特性,固有特性指客户在外观,结构,性能,可靠度等方面可区分的要求,及制造过程中不可避免的特征。

SIPp脚本编写方法基础m

SIPp脚本编写方法基础m

SIPp脚本编写方法基础目录SIPp脚本编写方法入门 ...........................................................................................................................1.脚本格式...........................................................................................................................................1.1.基于XML进行扩展 ...............................................................................................1.2.DTD扩展语法规则.................................................................................................1.3.脚本结构.................................................................................................................1.4.注释.........................................................................................................................2.脚本类型...........................................................................................................................................2.1.UAC..........................................................................................................................2.2.UAS..........................................................................................................................2.3.3PCC(三方通话) ................................................................................................2.4.OCC(Out-of-call) ................................................................................................3.命令与属性.......................................................................................................................................3.1.常用命令.................................................................................................................3.2.常用属性列表.........................................................................................................3.3.正则表达式.............................................................................................................4.变量与关键字 ............................................................................................... 错误!未定义书签。

SIP协议初级讲义(V2.0)

SIP协议初级讲义(V2.0)

SIP Redirect Server SIP Proxy Server
Location Server
SIP Proxy Server IP Network UserAgent 图例
SIP协议
私有协议
UserAgnet
2.功能实体




User Agent Proxy Server Redirect Server Registrar Server Location Server
URL的表示规则
SIP-URL = "sip:" [ userinfo "@" ] hostport url-parameters [ headers ] userinfo = user [ ":" password ] user = *( unreserved | escaped | "&" | "=" | "+" | "$" | "," ) password = *( unreserved | escaped | "&" | "=" | "+" | "$" | "," ) hostport = host [ ":" port ] host = hostname | IPv4address hostname = *( domainlabel "." ) toplabel [ "." ] domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum toplabel = alpha | alpha *( alphanum | "-" ) alphanum IPv4address = 1*digit "." 1*digit "." 1*digit "." 1*digit port = *digit url-parameters = *( ";" url-parameter ) url-parameter = transport-param | user-param | method-param | ttl-param | maddr-param | other-param transport-param = "transport=" ( "udp" | "tcp" ) ttl-param = "ttl=" ttl ttl = 1*3DIGIT ; 0 to 255 maddr-param = "maddr=" host user-param = "user=" ( "phone" | "ip" ) method-param = "method=" Method tag-param = "tag=" UUID UUID = 1*( hex | "-" ) other-param = ( token | ( token "=" ( token | quoted-string ))) headers = "?" header *( "&" header ) header = hname "=" hvalue hname = 1*uric hvalue = *uric uric = reserved | unreserved | escaped reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," digits = 1*DIGIT
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SIPp脚本编写方法基础目录SIPp脚本编写方法入门 (1)1. 脚本格式 (3)1.1.基于XML进行扩展 (3)1.2.DTD扩展语法规则 (3)1.3.脚本结构 (3)1.4.注释 (5)2. 脚本类型 (5)2.1.UAC (5)2.2.UAS (5)2.3.3PCC(三方通话) (6)2.4.OCC(Out-of-call) (6)3. 命令与属性 (6)3.1.常用命令 (6)3.2.常用属性列表 (8)3.3.正则表达式 (10)4. 变量与关键字 (11)4.1.关键字的使用 (11)4.2.变量定义与使用 (13)4.3.鉴权 (15)5. 分支和跳转 (16)5.1.标签 (16)5.2.条件判断 (16)5.3.跳转和循环 (17)5.4.概率分支 (18)6. 文件引用 (19)6.1.外部文件格式 (19)6.2.引用方法 (20)6.3.文件索引 (20)7. 脚本中的命令操作 (21)7.1.内部命令 (21)7.2.外部命令 (21)7.3.媒体命令 (21)8. 附录 (23)修订记录 (24)1.脚本格式1.1.基于XML进行扩展SIPp的测试脚本遵循标准的XML V1.0版本的语法规范,XML即“可扩展标记语言”eXtensible Markup Language 的缩写,W3C组织与1998年发布XML 1.0规范。

1.2.DTD扩展语法规则SIPp的执行目录中,存在一个sipp.dtd文件。

该文件为标准的xml扩展语法规则,在该文件中,对send、recv、pause等元素增加了定义,包括其属性列表等内容,可作为脚本文件格式的校验。

1.3.脚本结构一个标准的SIPp脚本,文件起始应为通用的xml前导区和DTD文件定义区如图所示:接下来使用<scenario>和</scenario>包括的部分,即为脚本的正文部分。

sipp脚本正文部分,包含如下几个区域:1.初始化区在初始化区域中,通常用来进行全局变量的定义和赋值等操作,在脚本未进行逻辑流程前,预先完成初始化动作。

初始化区是在脚本正文的最开始,通过使用命令<init>和</init>,并在其之间插入一些<nop>和<label>命令即可实现,在初始场景中的变量,仅用于全局变量,并不会应用于呼叫。

例如下图中,在初始化区对THINKTIME进行赋值:2.逻辑执行区逻辑执行区中包括了业务流程的相关内容,比如接收消息、发送消息、暂停时长、分支判断、媒体播放、内外部命令执行等操作。

逻辑执行区是脚本的最关键部分,编写sipp脚本,主要也就是针对该部分进行编写和调试。

3.变量抑制区该部分是为了避免在脚本逻辑区定义了大量的变量,但实际并未使用导致运行时报错无法执行的问题,不论定义了多少变量,这些变量有无被使用,只需要添加进变量抑制区的列表中,脚本均可正常执行。

该部分仅有一个命令<Reference />,variables属性为所需抑制的变量列表。

如下图所示:4.定时器自定义区该区域主要作用为:针对消息响应时长(ResponseTime)以及呼叫持续时长(CallLength)的Timer进行自定义间隔的配置,以获取所需的显示范围,例如自定义timer配置为:则在sipp运行时,查看运行统计界面呈现如下:1.4.注释sipp脚本注释的语法格式为<!-->xxx<-->,支持多行注释,如:2.脚本类型SIPp脚本根据使用场景不同,主要分为UAC、UAS、3PCC和OCC4种类型,每种类型均有其特定的使用方式,内部逻辑也有所不同。

2.1.UAC顾名思义,UAC类型的脚本主要是模拟sip会话中的UAC侧,即负责发起会话的client端。

如注册客户端、主叫用户、订阅者等。

通常的UAC脚本逻辑区会以send作为业务流程的起始。

UAC脚本一旦启动,如果不设置起始暂停时长的参数,通常会立即开始执行。

2.2.UASUAS与UAC相对,主要模拟sip会话的UAS侧,启动后即进入被动接收状态,通常作为server端使用,如注册服务器、被叫用户、通知者、业务网关等。

通常的UAS脚本逻辑区会以recv作为业务流程的起始。

UAS脚本启动后,即绑定相关本地socket,进入接收消息的状态。

2.3.3PCC(三方通话)SIPp工具允许多个脚本实例间进行交互,完成较为复杂的业务流程。

如三方通话等业务,因此该种脚本在普通脚本的基础上,更多地使用内部cmd交互命令,如recvcmd、sendcmd等在不同脚本间传递会话参数,配合完成复杂流程的测试实现。

sipp还提供了扩展的3pcc模式,支持master和slave的脚本角色。

该类型的脚本编写和调试较为复杂,本文档中不再赘述,如有兴趣可以翻阅sipp的使用手册等文档,其中有详细说明。

2.4.OCC(Out-of-call)OCC(Out-of-call)脚本作为特殊类型的脚本,通常不会单独使用,而是与UAC脚本配合使用(也只能与UAC脚本配合,UAS等类型脚本无法支持-occsn等执行命令)。

主要作用为扩展UAC脚本的适用范围,使UAC脚本能够在接收到不同会话内的非预期消息时,不至于直接丢弃。

如注册客户端可能会遇到接收到通知NOTIFY的消息,此时就需要在运行register脚本的时候适用-oocsn或-oocsf参数,配合ooc脚本,实现对NOTIFY消息返回200的操作。

3.命令与属性3.1.常用命令SIPp工具提供的命令相当丰富,包括消息操作命令、变量操作、正则表达式、赋值和判断、内部命令、外部命令、日志操作、媒体命令等多种,在一般的使用场景下,通常根据不同的动作,来进行命令的使用。

下面针对比较常用的场景,如发送消息、接收消息、媒体播放等进行描述:(更详细的命令功能及示例,可以翻阅sipp的使用手册等文档)一个最基本的sipp脚本,通常包含了send、recv、nop、pause这几个命令。

其中send为发送sip消息,recv为接收sip消息,nop为处理非业务的逻辑,pause为提供暂停时长。

例如一个基本语音呼叫的主叫侧脚本:首先使用send命令发送INVITE消息,注意在发送消息时,sip消息所有内容均包含在标准的xml数据格式CDATA内,CDATA的语法格式请格外注意,避免因为语法错误导致无法正确发送。

(注:在构造发送的INVITE消息时,为实现批量发送,使用到了大量的变量和关键字,在后续内容中会详细加以说明。

)发送出消息后,还需要进行后续响应消息的接收,请注意由于sip协议存在临时响应和最终响应两种,而1xx的响应在业务中可能存在,也可能不存在,因此需要采用可选属性加以区别。

(注:optional=“true”即表示该条消息为可选接收,如果没有收到,也不会影响后续消息的接收及处理,如100/183/180。

而200为必选接收消息,只有当接收到该消息后,脚本才会继续后续流程,因此没有optional参数。

)在接收到200 ok消息,并发送出ACK后,语音通话接续流程即完成,此时根据实际业务流程,需要进行语音媒体的传输,因此脚本在这里需要增加一个nop命令,用于媒体的播放(注:nop命令可以用于任何非消息处理的位置,在nop命令中增加action 命令,然后即可执行类似媒体处理、变量操作、条件判断等动作。

)在执行媒体播放命令后,由于sipp在执行nop相关命令后,不会等待命令执行完毕而是立即执行后续脚本内容,因此为保证媒体播放正常,我们还需要根据实际要求,将脚本暂停一段时间,以确保流程模拟正确。

(注:millisenconds属性可以自定义暂停的时长,单位为ms,如果该属性为空,则可以通过在执行命令中增加“-d 10000”来指定暂停时长)3.2.常用属性列表通用属性:3.3.正则表达式正则表达式作为sipp中极为重要的功能,在各个场景下应用广泛,最常见的是通过正则表达式,获取接收消息中某个参数,并将该参数赋给变量,用于后续流程的使用。

正则表达式的使用语法如下图所示:正则表达式的命令为<ereg />regexp属性为需要匹配的表达式内容,其中使用”()”包括起来的部分,为匹配项,可以赋给变量;search_in属性为设置本次查询的方式,sipp支持3种正则匹配的方式,分别为:1.头域查询匹配当search_in=”hdr”时,表示正则按照头域匹配,必须包含header参数,给出需要查询的头域名称,如header=”From”。

sipp会在指定的头域中进行匹配。

注:start-line的匹配也是用头域匹配方式。

2.消息查询匹配当search_in=”msg”时,表示正则根据整个消息内容进行匹配,通常在需要匹配SDP内容时会用到。

3.变量查询匹配当search_in”var”时,表示正则按照变量进行匹配,必须配置variable 参数,给出需要匹配的变量名称,如variable=”header_to_tag”。

4.变量与关键字4.1.关键字的使用sipp中定义了大量的关键字,涉及到网络参数、sip会话参数和媒体参数等等,需要在编写脚本时加以注意。

关键字的引用格式为[keyword],例如[locao_ip]、[call_id]等。

下表列出了常用的关键字:4.2.变量定义与使用sipp的脚本中,支持双精度浮点型变量和字符串变量两种变量类型.1.浮点型变量针对浮点型变量的操作命令主要有assgin(赋值)、sample(统计分布)和todouble(强制类型转换),以及加减乘除等简单算术运算,举例如下:<nop><action><!—将变量sum赋值为0--><assign assign_to="sum" value="0" /><!--将sum加2,然后再赋值给sum--><add assign_to="sum" value="2" /><!--将sum减3,然后再赋值给sum --><subtract assign_to="sum" value="3" /><!--将sum乘以4,然后再赋值给sum --><multiply assign_to="sum" value="4" /><!--将sum除以5,然后再赋值给sum,此时sum=-0.8 --><divide assign_to="sum" value="5" /></action></nop>浮点型变量还支持变量比较测试功能,该部分在分支一节中会重点描述。

相关文档
最新文档