发布新日志

  • SIP question2

    2010-11-10 16:30:03

    Hold

    A                    B

    ----invite------------>

    <------------200Ok----

    -----ACK------------->

    Invite: sendonly

    uncondition transfer

    A                             B                              C

     

    ----refer----------------------------------à

    ß-----------------202 ------------------

    <---------------------notify---------------

    -----------200 ok-----------------------à

    -----------bye--------------------------à

    ß-------------------------200 OK-------

                                 ------------invite---------------------------à

                                 <--------------------------180----------------

                                 ß-----------------------200 ok-----------------

                                 --------------ACK----------------------------

    ß--------------------------notify----------

    -------------200 ok------------------------à

     

     

    A transfer B to C,then A disconnect with B.B establish the session to C then report the success back to A in the notify.If the transfer fails,B can send a new invite back to A to re-establish the session.

     

    Conference

      

    A                         B                            C

    --------invite-------------------à

    ß-------------------180--------

    ß-----------------200 ok--------

    ----------ACK--------------------

     

    ß------------------invite----------

    ----------180-----------------------

    ß--------------------Ack----------

                             --------invite-------------------à

    ß-------------------180--------

    ß-----------------200 ok--------

    ----------ACK--------------------

    A and B are in a 2-party call when B wished to add C into the conversation.B is capable of media mixing in a 3-party call.B first send a re-invite to A changing Contact URIs to one that indicates B’mixer and acts like a focus.B tben invite C using the same Contact URI.

     

  • SIP question

    2010-11-10 16:18:55

    UAC ,UAS ,proxy server, registrar server , location server,  redirection server

     

     

    二.   SIP中事务有几种?请分别列出。

    Transaction 是指一个发送方和接受方的交互过程,由请求和应答组成。请求分为invitenon-Invite类型。应答分为响应型应答和确认型应答。响应型应答是指这个应答仅代表对方收到请求。请求经过处理后必须返回确认型的应答。响应型的应答有1xx,确认型的应答包括2xx3xx4xx5xx6xx。一个transaction由一个请求和一个或者多个应答以及一个应答组成。

    Transaction根据请求和发送/接收的不同可以分为四种:

    1.       invite client transaction

    2.       non-invite client transaction

    3.       invite server transaction

    4.       non-invite transaction

     

     

    三.   什么是B2BUA? 请列出B2BUA的特点。

     

    B2BUA (Back to Back user agent) 是一个逻辑实体,像用户代理服务器一样接收和处理请求。为了决定该如何应答一个请求,B2BUA就像UAC一样工作,并且发出请求。但是它不像proxy,它维持对话状态,并且参与已经建立的对话中的每一个请求。

    B2BUA的特点:

    1.       centralized call management

    2.       Interworking with Alternative networks

    3.       Interworking between lan and wan

    4.       Manage,Monitor call state

    5.       Cloaking the endpoint location

     

    四.   请描述Attendant Transfer的流程。

     

    1. A establish a call with B

    2. B put A on hold

    3. B establish a session with C

    4.B hold C(B transfer)

    5.B send refer to A

    6.A send notify to B

    7.A replace the session between B and C

    8.C disconnect the session with B

    9.A send notify to B

    10.B disconnect the session with A

     

      A                       B                       C

       ---------invite-----------------à

       <---------------------180ring---

       ß-----------------------200 OK---

       -----------ACK-----------------à

     

      ß--------------------invite-----------

      --------------200 ok------------------à

    ß------------------------------ACK------

                                 ----------invite--------------------à

                                ß----------------------180----------

                                ß----------------------200 ok--------

                                ------------ACK-----------------------

                               

                                 --------------------invite-----------à

                                 <--------------200 ok-------------------

    -----------------------------ACK----à

     

     

    ß-------------------------Refer----------

    ------------202------------------------à

    -------------notify--------------------à

    ß------------------------200 OK-------

     

    --------------invite------------------------------------------------------------à

    ß---------------------------------------------------200 ok---------------------

    ---------------ACK-----------------------------------------------------------à

                                 ß-----------------------bye-----------

                                 --------------200 OK-------------------

    -----------notify------------------------à

    ß---------------------------200 Ok-----

    ß----------------------------bye----------

    ------------200 OK-----------------------

  • 基本SIP应答

    2010-11-02 14:57:23

    1xx = 通知性应答

    100 正在尝试
    180 正在拨打
    181 正被转接
    182 正在排队
    183 通话进展
    2xx = 成功应答

    200 OK
    202 被接受:用于转介
    3xx = 转接应答

    300 多项选择
    301 被永久迁移
    302 被暂时迁移
    305 使用代理服务器
    380 替代服务
    4xx = 呼叫失败

    400 呼叫不当
    401 未经授权:只供注册机构使用,代理服务器应使用代理服务器授权407
    402 要求付费(预订为将来使用)
    403 被禁止的
    404 未发现:未发现用户
    405 不允许的方法
    406 不可接受
    407 需要代理服务器授权
    408 呼叫超时:在预定时间内无法找到用户
    410 已消失:用户曾经存在,但已从此处消失
    413 呼叫实体过大
    414 呼叫URI过长
    415 不支持的媒体类型
    416 不支持的URI方案
    420 不当扩展:使用了不当SIP协议扩展,服务器无法理解该扩展
    421 需要扩展
    423 时间间隔过短
    480 暂时不可使用
    481 通话/事务不存在
    482 检测到循环
    483 跳数过多
    484 地址不全
    485 模糊不清
    486 此处太忙
    487 呼叫被终止
    488 此处不可接受
    491 呼叫待批
    493 无法解读:无法解读 S/MIME文体部分
    5xx = 服务器失败

    500 服务器内部错误
    501 无法实施:SIP呼叫方法在此处无法实施
    502 不当网关
    503 服务不可使用
    504 服务器超时
    505 不支持该版本:服务器不支持SIP协议的这个版本
    513 消息过长
    6xx = 全局失败

    600 各处均忙
    603 拒绝
    604 无处存在
    606 不可使用

    --------------------------------------------------------------------------------

    SIP协议应答码

    应答代码
    应答码是包含了,并且扩展了HTTP/1.1应答码。并不是所有的HTTP/1.1应答码都适当应用,只有在折里指出的是适当的。其他HTTP/1.1应答码不应当使用。并且,SIP也定义了新的应答码系列,6xx。

    1 临时应答1xx
    临时应答,也就是消息性质的应答,标志了对方服务器正在处理请求,并且还没有决定最后的应答。如果服务器处理请求需要花200ms以上才能产生终结应答的时候,它应当发送一个1xx应答。
    注意1xx应答并不是可靠传输的。他们不会导致客户端传送一个ACK应答。临时性质的(1xx)应答可以包含消息体,包含会话描述。
    1.1 100 Trying
    这个应答表示下一个节点的服务器已经接收到了这个请求并且还没有执行这个请求的特定动作(比如,正在打开数据库的时候)。这个应答,就像其他临时应答一 样,种植了UAC重新传送INVITE请求。100(Trying)应答和其他临时应答不同的是,在这里,它永远不会被有状态proxy转发到上行流中。
    1.2 180 Ringing
    UA收到INVITE请求并且试图提示给用户。这个应答应当出世化一个本地回铃。
    1.3 818 Call is Being Forwarded(呼叫被转发)
    服务器可以用这个应答代码来表示呼叫正在转发到另一个目的地集合。
    1.4 182 Queued
    当呼叫的对方暂时不能接收呼叫的时候,并且服务器决定将呼叫排队等候,而不是拒绝呼叫的时候,那么就应当发出这个应答。当被叫方一旦恢复接收呼叫,他会返 回合适的终结应答。对于这个呼叫状态,可以有一个表示原因的短语,比如:"5 calls queued;expected waiting time is 15minutes"。服务器可以给出好几个182(Queued)应答告诉呼叫方排队的情况(比如排队靠前了等等)。
    1.5 183 会话进度
    183(Session Progress)应答用于提示建立对话的进度信息。Reason-Phrase(表达原因的句子)、头域或者消息体可以用于提示呼叫进度的更消息的信息。
    2 成功信息2xx
    这个应答表示请求是成功的。
    2.1 200 OK
    请求已经处理成功。这个信息取决于不同方法的请求的应答。
    3 转发请求3XX
    3xx系列的应答是用于提示用户的新位置信息的,或者为了满足呼叫而转发的额外服务地点。
    3.1 300 Multiple Choices
    请求的地址有多个选择,每个选择都有自己的地址,用户或者(UA)可以选择合适的通讯终端,并且转发这个请求到这个地址。
    应答可以包含一个具有每一个地点的在Accept请求头域中允许的资源特性,这样用户或者UA可以选择一个最合适的地址来转发请求。没有未这个应答的消息体定义MIME类型。
    这些地址选择也应当在Contact头域中列出(20.10节)。不同于HTTP,SIP应答可以包含多个Contact头域或者一个Contact头域 中具有一个地址列表。UA可以使用Contact头域来自动转发或者要求用户确认转发。不过,本规范没有定义自动转发的标准。
    如果被叫方可以在多个地址被找到,并且服务器不能或者不愿意转发请求的时候,可以使用这个应答来给呼叫方。
    3.2 301 Moved Permently
    当不能在Request-URI指定的地址找到用户的时候,请求的客户端应当使用Contact头域(20.10)所指出的新的地址重新尝试。请求者应当用这个新的值来更新本地的目录,地址本,和用户地址cache,并且在后续请求中,发送到这个/这些列出的地址。
    3.3 302 Moved Temporarily
    请求方应当把请求重新发到这个Contact头域所指出的新地址(20.10)。新请求的Request-URI应当用这个应答的Contact头域所指出的值。
    在应答中的Expires(20.19节)或者Contact头域的expires参数定义了这个Contact URI的生存周期。UA或者proxy在这个生存周期内cache这个URI。如果没有严格的有效时见,那么这个地址仅仅本次有效,并且不能在以后的事务 中保存。
    如果cache的Contact头域的值失败了,那么被转发请求的Request-URI应当再次尝试一次。临时URI可以比超时时间更快的失效,并且可以有一个新的临时URI。
    3.4 305 Use Proxy
    请求的资源必须通过Contact头域中指出的proxy来访问。Contact头域指定了一个proxy的URI。接收到这个应答的对象应当通过这个proxy重新发送这个单个请求。305(UseProxy)必须是UAS产生的。
    3.5 380 Alternative Service
    呼叫不成工,但是可以尝试另外的服务。另外的服务在应答的消息体中定义。消息体的格式在这里没有定义,可能在以后的规范中定义。
    4 请求失败4xx
    4xx应答定义了特定服务器响应的请求失败的情况。客户端不应当在不更改请求的情况下重新尝试同一个请求。(例如,增加合适的认证信息)。不过,同一个请求交给不同服务器也许就会成功。
    4.1 400 Bad Request
    请求中的语法错误。Reason-Phrase应当标志这个详细的语法错误,比如"Missing Call-ID header field"。
    4.2 401 Unauthorized
    请求需要用户认证。这个应答是由UAS和注册服务器产生的,当407(Proxy Authentication Required)是proxy服务器产生的。
    4.3 402 Payment Required
    保留/以后使用
    4.4 403 Forbidden
    服务端支持这个请求,但是拒绝执行请求。增加验证信息是没有必要的,并且请求应当不被重试。
    4.5 404 Not Found
    服务器返回最终信息:用户在Request-URI指定的域上不存在。当Request-URI的domain和接收这个请求的domain不匹配的情况下,也会产生这个应答。
    4.6 405 Method Not Allowed
    服务器支持Request-Line中的方法,但是对于这个Request-URI中的地址来说,是不允许应用这个方法的。
    应答必须包括一个Allow头域,这个头域包含了指定地址允许的方法列表。
    4.7 Not Acceptable
    请求中的资源只会导致产生一个在请求中的Accept头域外的,内容无法接收的错误。
    4.8 407 Proxy Authentication Required
    这个返回码和401(Unauthorized)很类四,但是标志了客户端应当首先在proxy上通过认证。SIP对认证的访问请参见26节和22.3节。
    这个返回码用于应用程序访问通讯网关(比如,电话网关),而很少用于被叫方要求认证。
    4.9 408 Request Timeout
    在一段时间内,服务器不能产生一个终结应答,例如,如果它无法及时决定用户的位置。客户端可以在稍后不更改请求的内容然后重新尝试请求。
    4.10 410 Gone
    请求的资源在本服务器上已经不存在了,并且不知道应当把请求转发到哪里。这个问题将会使永久性的。如果服务器不知道,或者不容易检测,这个资源消失是临时性质的还是永久性质的,那么应当返回一个404(Not Found)。
    4.11 413请求实体过大。
    服务器拒绝处理请求,因为这个请求的实体超过了服务器希望或者能够处理的大小。这个服务器应当关闭连接避免客户端重发这个请求。
    如果这个情况是暂时的,那么服务端应当包含一个Retry-After头域来表明这是一个暂时的故障,并且客户端可以过一段时间再次尝试。
    4.12 414 Request-URI Too Long
    服务器拒绝这个请求,因为Request-URI超过了服务器能够处理的长度。
    4.13 415 Unsupported Media Type
    服务器由于请求的消息体的格式本服务器不支持,所以拒绝处理这个请求。这个服务器必须根据内容的故障类型,返回一个Accept,Accpet-Encoding,或者Accept-Language头域列表。UAC根据8.1.3.5节定义的方法处理这个应答。
    4.14 416 Unsupported URI Scheme
    服务器由于不支持Request-URI中的URI方案而终止处理这个请求。客户端处理这个应答参照8.1.3.5。
    4.15 Bad Extension
    服务器不知道在请求中的Proxy-Require(20.29)或者Require(20.32)头域所指出的协议扩展。服务器必须在Unsupported头域中列出不支持的扩展。UAC处理这个应答请参见8.1.3.5
    4.16 421Extension Required
    UAS需要特定的扩展来处理这个请求,但是这个扩展并没有在请求的Supported头域中列出。具有这个应答码的应答必须包含一个Require头域列出所需要的扩展。
    UAS不应当使用这个应答除非它真的不能给客户端提供有效的服务。相反,如果在Support头域中没有列出需要的扩展,服务器应当根据基准的SIP兼容的方法和客户端支持的扩展来进行处理。
    4.17 423 Interval Too Brief
    服务器因为在请求中设置的资源刷新时间(或者有效时间)过短而拒绝请求。这个应答可以用于注册服务器来拒绝那些Contact头域有效期过短的注册请求。这个应答的用法和相关的Min-Expires头域在10.2.8,10.3,20.23节中介绍和说明。
    4.18 480 Temporarily Unavailable
    请求成功到达被叫方的终端系统,但是被叫方当前不可用(例如,没有登陆,或者登陆了但是状态是不能通讯,或者有"请勿打扰"的标记)。应答应当在 Retry-After中标志一个合适的重发时间。这个用户也有可能在其他地方是有效的(在本服务器中不知道)。Reason-Phrase(原因短句) 应当提示更详细的原因,为什么被叫方暂时不可用。这个值应当是可以被UA设置的。状态码486(Busy Here)可以用来更精确的表示本请求失败的特定原因。
    这个状态码也可以是转发服务或者proxy服务器返回的,因为他们发现Request-URI指定的用户存在,但是没有一个给这个用户的合适的当前转发的地址。
    4.19 481 Call/Transaction Does Not Exist
    这个状态表示了UAS接收到请求,但是没有和现存的对话或者事务匹配。
    4.20 482 Loop Detected
    服务器检测到了一个循环(16.3/4)
    4.21 483 Too Many Hops
    服务器接收到了一个请求包含的Max-Forwards(20.22)头域是0
    4.22 484 Address InComplete
    服务器接收到了一个请求,它的Request-URI是不完整的。在原因短语中应当有附加的信息说明。这个状态码可以和拨号交叠。在和拨号交叠中,客户端不知道拨号串的长度。它发送增加长度的字串,并且提示用户输入更多的字串,直到不在出现484(Address Incomplete)应答为止。
    4.23 485 Ambiguous
    Request-URI是不明确的。应答可以在Contact头域中包含一个可能的明确的地址列表。这个提示列表肯囊个在安全性和隐私性对用户或者组织造 成破坏。必须能够由配置决定是否以404(NotFound)代替这个应答,又或者禁止对不明确的地址使用可能的选择列表。
    给带有Request-URI的请求的一个应答例子:
    sip: lee@example.com:
    SIP/2.0 485 Ambiguous
    Contact: Carol Lee <sip:carol.lee@example.com>
    Contact: Ping Lee <sip:p.lee@example.com>
    Contact: Lee M.Foote <sips:lee.foote@example.com>
    部分email和语音邮箱系统提供了这个功能。这个状态码和3xx状态码不同:对于300来说,它是假定同一个人或者服务有不同的地址选择。所以对3xx来说,自动选择系统或者连续查找就有效,但是对485(Ambiguous)应答来说,一定要用户的干预。
    4.24 486 Busy Here
    当成功联系到被叫方的终端系统,但是被叫方当前在这个终端系统上不能接听这个电话,那么应答应当回给呼叫方一个更合适的时间在Retry-After头域 重试。这个用户也许在其他地方有效,比如电话邮箱系统等等。如果我们知道没有其他终端系统能够接听这个呼叫,那么应当返回一个状态码600(Busy Everywhere)。
    4.25 487 Request Terminated
    请求被BYE或者CANCEL所终止。这个应答永远不会给CANCEL请求本身回复。
    4.26 488 Not Acceptable Here
    这个应答和606(Not Acceptable)有相同的含义,但是只是应用于Request-URI所指出的特定资源不能接受,在其他地方请求可能可以接受。
    包含了媒体兼容性描述的消息体可以出现在应答中,并且根据INVITE请求中的Accept头域进行规格化(如果没有Accept头域,那么就是application/sdp)。这个应答就像给OPTIONS请求的200(OK)应答的消息体一样。
    4.27 491 Request Pending
    在同一个对话中,UAS接收到的请求有一个依赖的请求正在处理。14.2描述了这种情况应当怎样解决。
    4.28 493 Undecipherable
    UAS接收到了一个请求,包含了一个加密的MIME,并且不知道或者没有提供合适的解密密钥。这个应答可以包含单个包体,这个包体包含了合适的公钥,这个公钥用于给这个UAS通讯中加密包体使用的。细节描述在23.2节。
    5 Server Failure 5xx
    5xx应答是当服务器本身故障的时候给出的失败应答。
    5.1 500 Server Internal Error
    服务器遇到了未知的情况,并且不能继续处理请求。客户端可以显示特定的错误情况,并且可以在几秒种以后重新尝试这个请求。
    如果这个情况是临时的,服务器应当在Retry-After头域标志客户端过多少秒钟之后重新尝试这个请求。
    5.2 501 Not Implemented
    服务器没有实现相关的请求功能。当UAS不认识请求的方法的时候,并且对每一个用户都无法支持这个方法的时候,应当返回这个应答。(proxy不考虑请求的方法而转发请求)。
    注意405(Method Not Allowed)是因为服务器实现了这个请求方法,但是这个请求方法在特定请求中不被支持。
    5.3 502 Bad Gateway
    如果服务器,作为gateway或者proxy存在,从下行服务器上接收到了一个非法的应答(这个应答对应的请求是本服务器为了完成请求而转发给下行服务器的)。
    5.4 503 Service Unavailable
    由于临时的过载或者服务器管理导致的服务器暂时不可用。这个服务器可以在应答中增加一个Retry-After来让客户端重试这个请求。如果没有 Retry-After指出,客户端必须就像收到了一个500(Server Internal Error)应答一样处理。
    客户端(proxy或者UAC)收到503(Service Unavailable)应当尝试转发这个请求到另外一个服务器处理。并且在Retry-After头域中指定的时间内,不应当转发其他请求到这个服务器。
    作为503(Service Unavaliable)的替代,服务器可以拒绝连接或者把请求扔掉。
    5.5 504 Server Time-out
    服务器在一个外部服务器上没有收到一个及时的应答。这个外部服务器是本服务器用来访问处理这个请求所需要的。如果从上行服务器上收到的请求中的Expires头域超时,那么应当返回一个408(Request TimeOut)错误。
    5.6 505 Version Not Supported
    服务器不支持对应的SIP版本。服务器是无法处理具有客户端提供的相同主版本号的请求,就会导致这样的错误信息。
    5.7 Message To Large
    服务器无法处理请求,因为消息长度超过了处理的长度。
    6 Global Failures 6xx
    6xx应答意味这服务器给特定用户有一个最终的信息,并不只是在Request-URI的特定实例有最终信息。
    6.1 600 Busy Everywhere
    成功联系到被叫方的终端系统,但是被叫方处于忙的状态,并不打算接听电话。这个应答可以通过增加一个Retry-After头域更明确的告诉呼叫方多久以 后可以继续呼叫。如果被叫方不希望提示拒绝的原因,被叫方应当使用603(Decline)。只有当终端系统知道没有其他终端节点(比如语音邮箱系统)能 够访问到这个用户的时候才能使用这个应答。否则应当返回一个486(Busy Here)的应答。
    6.2 603 Decline
    当成功访问到被叫方的设备,但是用户明确的不想应答。这个应答可以通过增加一个Retry-After头域更明确的告诉呼叫方多久以后可以继续呼叫。只有当终端知道没有其他任何终端设备能够响应这个呼叫的势能才能给出这个应答。
    6.3 604 Does Not Exists Anywhere
    服务器验证了在请求中Request-URI的用户信息,哪里都不存在
    6.4 606 Not Acceptable
    当成功联系到一个UA,但是会话描述的一些部分比如请求的媒体,带宽,或者地址类型不被接收。
    606(NotAcceptable)应答意味着用户希望通讯,但是不能充分支持会话描述。606(Not Acceptable)应答可以在Warning头域中包含一个原因列表,用于解释为何会话描述不能被支持。警告原因代码在20.43节中列出。
    在应答中,可以出现一个包含媒体兼容性描述的消息体,这个消息体的格式根据INVITE请求中的Accept头域指出的格式进行规格化(如果没有 Accept头域,那么就是application/sdp),就像给OPTIONS亲求的200(OK)应答中的消息一样。
    我们希望这些媒体协商不要经常需要,并且当一个新用户被邀请加入已经存在的会话的时候,这个媒体协商可能不需要。这取决于邀请的初始化者是否需要对606(Not Acceptable)进行处理。
    这个应答只有当客户端知道没有其他终端能够处理这个请求的时候才能发出。

  • 【转载】QTP学习过程

    2010-10-08 15:09:41

    1.      入门,初识自动化  相信很多的朋友,包括我自己也是一样,在刚听到或接触到自动化测试的时候,迫不及待的下载了一个工具开始用,然后傻眼了,面对例如功能强大QTP,不知如何下手,同时也会严重的打消我们的积极性,在这里,我建议每个刚开始接触或学习自动化的朋友,先了解一些自动化的概念,在这一阶段你要先搞清楚这几个问题:

    什么是自动化测试?

    自动化可以做什么?

    学好自动化测试需要哪些知识准备?

    自动化测试的局限性?

    你做的项目适不适合做自动化测试?为什么?

    为什么要先搞懂这几个问题?因为你先了解了这些问题后,有助于消除你对自动化测试学习的恐惧,也会有一个初步的思路,不会觉得无所适从,再者,带着问题去学习,能更好的理解并记住然后形成自己的思维。

     

    2.      下载安装QTP   这时候是不是对自动化测试有所了解了,那现在就下载一个自动化测试工具,然后安装并破解它或使用试用版本,开始自动化工具的学习吧。在这里我要谈一点我个人的经验:我应该学习哪个工具?对于这个问题,我想说这跟我当时学习编程语言一样的,到处找资料看人家的经验,人家说VB容易上手,马上学习VB,看到人家说DEPHI好就学习DEPHI,人家说JAVA好就学习JAVA。。。。。。。,甚至一天几变,几个月下来,什么也没学会,最后安下心来从C开始吧,自动化测试也是一样,不要老去问别人学什么好,选择一个,硬着头皮学下来就是了,你精通了一门工具后,再去用另一个工具也就是一两周的时间就能运用自如,所以,就从QTP开始吧,它的IDE很直观,适合新手,然后下载一份用户手册,先了解下各个功能

    3.      简单自动化  QTP装好了吧,那现在就开始我们的第一个自动化体验:录制flight自动化脚本,这个过程比较简单,录制三个部分:登陆、定票、查询定票和删除定票,具体的业务过程和录制过程我就不说了,网上有很多资料,本文也不是一个实验指导书,只是提供一个比较清晰的自动化学习路线。当然,在录制了这些脚本之后,回放成功,第一个自动化完成了。

    4.      增强脚本功能 

       这个阶段主要是学习一些QTP的基本功能,在这里你要去增强一下你的脚本了,参数化登陆用户名和密码,参数化航班选择、定票张数,增加金额的检查。主要是学习参数化和检查点,这里会遇到一些困难:

    那就是选择航班这里,可以运用随机数等方法来参数化航班

    金额的检查会需要用到一些简单编程,总金额=张数*单价

    通过定单号查询定票会要用到对象的GetRoProperty("")方法

        这个学习的过程,还会遇到一些调试方面的因难,不过不用心急,慢慢来,成功是建立在失败之上的,记得在调试时,可以按F11单步运行,建立你的输出如:msgbox实时输出你想要看到的信息

    5.      数据驱动  

       经历了上面的阶段,在这里将要接触一点数据驱动的思想了,其实很简单,就是把你参数化的地方拿出来,放到一个外置的excel文件里面,然后通过读取excel里面的数据来控制循环次数,大概的步骤如下:

    创建excel对象

    循环读取excel数据赋值给变量

    在脚本中引用变量

         具体每个步骤的实现我就不详细说了,网上也是资料大把

    6.      功能函数化  

       这个阶段主要是把各个可以重用的功能写成函数,而主控脚本主要是用来调用这些功能函数,实现重用和结构清晰化,这个阶段又可以分成以下几个子阶段:

    把单个的功能写成一个action,主脚本调用这些action,在这里会遇到一个问题,那就是关于被调用action的设置,这个在我的博客里面有一篇文章有介绍,可以去看看

    把单个的功能写成函数放到一个action里面,脚本最下面调用这些函数

    把单个的功能写成函数到一个.vbs文件,脚本中调用这些函数,在这里也会遇到一个问题,那就是QTP调用.vbs文件,这在我的博客里面也有一篇文章详细写了,这里就不再重复

        这个过程完成后,就大概有基本的框架了,接下来进入下一个阶段

    7.      完善框架  

       在这个阶段,我们以网上一位朋友的轻量级自动化测试框架来说,相信有很多朋友都有看过,我也懒得重新去做一个示例了,在这里你需要建立你自己的report、日志文件、函数文件、数据驱动文件、脚本文件等,把这些都放到单独的文件夹里面,方便管理,并对函数的创建、定义进行规范,详情参见轻量级自动化测试框架

    8.      理清框架思想 

       在这个阶段主要是用来思考和完善你的框架思想了,此时你们应该有一个清晰的思路了,明白自动化脚本开发的各个阶段,并知道最后要做成什么样子,现在重要的一点就是学习做分析和计划了,一个项目交到你手里,你要先评估这个项目适不适合做自动化、自动化哪些东西、哪些功能可以封装起开写成函数、哪些地方需要进行数据来控制驱动,最后评估各个阶段的耗时、需要的资源、各阶段的产出(文档、脚本等)

  • 第36课

    2010-09-16 10:06:18

    accross the channel

    hope to set up new word record

    for years

    auxiously

    among then will be debbies mother

    is sure to secceed

    stong swimmer

     

  • 第28天

    2010-09-04 11:23:07

    tent n.帐篷

    campfire n.篝火

    creep v.爬行   、/crept into

    sleeping bag

    confortable

    leap v.跳跃

    stream

    soundly adj  香甜的

     

     

  • 第27天

    2010-09-04 11:22:48

  • 第26天

    2010-09-04 11:22:10

  • 第25天

    2010-09-04 11:21:42

  • 第24天

    2010-09-04 11:21:21

  • 第23天

    2010-09-04 11:20:56

  • 第22天

    2010-09-04 11:20:29

  • 第21天

    2010-09-04 11:19:40

  • 配置Windows XP 作为L2TP 客户端

    2010-09-02 10:17:29

    /usr/sbin/xl2tpd

    1701 udp

    /etc/ppp/chap-secrets

    test * '123456' *

    禁用证书方式的IPSEC

    WindowsXP的L2TP功能缺省启动证书方式的IPSEC,应当在注册表中禁用。方法如下:

    执行regedit命令,找到如下位置

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters

    加入如下注册项:Value Name: ProhibitIpSec Data Type: REG_DWORD Value: 1

    置Windows XP 作为L2TP 客户端

    按照以下步骤配置Windows XP 计算机,使其成为L2TP 客户端。
    1. 配置L2TP 拨号连接:
    1) 进入Windows XP 的“开始” “设置” “控制面板”,选择“切换到分类视图”。
    2) 选择“网络和Internet 连接”。
    3) 选择“建立一个您的工作位置的网络连接”。
    4) 选择“虚拟专用网络连接”,单击“下一步”。
    5) 为连接输入一个名字为“l2tp”,单击“下一步”。
    6) 选择“不拨此初始连接”,单击“下一步”。
    7) 输入准备连接的L2TP 服务器的IP 地址“202.101.35.218”,单击“下一步”。
    8) 单击“完成”。
    9) 双击“l2tp”连接,在l2tp 连接窗口,单击“属性”。
    10) 选择“安全”属性页,选择“高级(自定义设置)”,单击“设置”。
    11) 在“数据加密”中选择“可选加密(没有加密也可以连接)”。
    12) 在“允许这些协议”选中“不加密的密码(PAP)”、“质询握手身份验证协议
    (CHAP)”、“Microsoft CHAP(MS-CHAP)”,单击“确定”。
    13) 选择“网络”属性页面,在“VPN 类型”选择“L2TP IPSec VPN”。
    14) 确认“Internet 协议(TCP/IP)”被选中。
    15) 确认“NWLink IPX/SPX/NetBIOS Compatible Transport Prococol”、“微软网络文件
    和打印共享”、“微软网络客户”协议没有被选中。
    16) 单击“确定”,保存所做的修改。
    2. 修改注册表
    缺省的Windows XP L2TP 传输策略不允许L2TP 传输不使用IPSec 加密。可以通过修改
    Windows XP 注册表来禁用缺省的行为:
    手工修改:
    1) 进入Windows XP 的“开始” “运行”里面输入“Regedt32”,打开“注册表编辑
    器”,定位“HKEY_Local_Machine \ System \ CurrentControl Set \ Services \ RasMan \
    Parameters ”主键。
    2) 为该主键添加以下键值:
    键值:ProhibitIpSec
    数据类型:reg_dword
    值:1
    3)保存所做的修改,重新启动电脑以使改动生效。
    提示:必须添加“ProhibitIpSec”注册表键值到每个要使用L2TP 的运行Windows XP 操
    作系统的电脑。
    3. 使用L2TP 隧道连接到HiPER L2TP 服务器
    1) 确认计算机已经连接到Internet(可能是拨号连接或者是固定IP 接入)。
    2) 启动前面步骤中创建的“l2tp”拨号连接。
    3) 输入的l2tp 连接的用户名:vpn_mobile 和密码:vpntest。
    4) 单击“连接”。
    5) 连接成功后,在MS-DOS 方式下输入“ipconfig”,可以看到一个在HiPER L2TP 服
    务器地址池中的地址,就是HiPER L2TP 服务器分配给本机的IP 地址。

  • Ptime

    2010-08-31 09:56:53

    ptime:<packet time>
    This gives the length of time in milliseconds represented by the
    media in a packet. This is probably only meaningful for audio
    data.  It should not be necessary to know ptime to decode RTP or
    vat audio, and it is intended as a recommendation for the
     encoding/packetisation of audio. It is a media attribute, and is > >       not dependent on charset.

    GRUU

    precondition

  • 100rel

    2010-08-30 14:10:49

    如果请求中有100rel标志,UAS必须用可靠传输的方式发送非100的临时响应(101-199),如果UAS不愿意这样做,它必须利用420(Bad Extension)拒掉这个请求.
    假设UAC接收到需要可靠传输的非100临时响应后(101-199),它必须用PRACK方法创建一新请求发送给UAS,以确认已收到此响应,UAS会回应一200OK。
    有的流程有PRACK,说明它有100rel的支持,没有PRACK说明不支持100rel。

    但是在具体的实现中,一些应用对于PRACK的支持有问题,也就是说:即使支持100rel,它也不发送PRACK方法。
  • P-Associtaed-URI/P-Preferred-Identify/P-Asserted-Identify

    2010-08-30 10:43:01

    P-Associated-URI是在用户注册成功时,S-CSCF在200 OK响应中将与当前注册的公有标识属于同一个隐式注册集的用户标识放在P-Associated-URI头域中发送给UE。
    P-Preferred-Identity是主叫发起会话时希望被叫与其联系时使用的公有标识,当P-Preferred-Identity经过网络认证通过时就是P-Asserted-Identity

    In registration:
    P-Associated-URI: in 200 OK response to REGISTER, it lists all the associated IMPUs of a user. The first URI in P-Associated-URI is the default IMPU and always a valid, registered one.
    P-Preferred-Identify: in SUBSCRIBE from UE to P-CSCF.
    P-Asserted-Identify: in SUBSCRIBE from P-CSCF to S-CSCF, it replaces the P-Preferred-Identify if it is a valid IMPU of the user

    In session:
    P-Preferred-Identify: in INVITE from UE1 to P-CSCF1, in 183 (session in process) from UE2 to P-CSCF2.
    P-Asserted-Identify: in INVITE request or 183 response from P-CSCF to S-CSCF, replaces P-Preferred-Identify in case of valid IMPU

  • 第20天

    2010-08-24 10:02:39

    hurry

    hurry in/out

    at any moment

    what a pity

    exclaim

    return to you 退回你

    certainly

    ticket office

    sell out

    ticket for+

    ticket to +

    sadly

     

  • 问题

    2010-08-23 14:00:38

    【网络综合 - 英语口语】:
    Q: Can you sell yourself in two minutes? Go for it. (你能在两分钟內自我推荐吗?大胆试试吧!)
    A: With my qualifications and experience, I feel I am hardworking, responsible and diligent in any project I undertake. Your organization could benefit from my analytical and interpersonal skills.(依我的资格和经验,我觉得我对所从事的每一个项目都很努力、负责、勤勉。我的分析能力和与人相处的技巧,对贵单位必有价值。)

    Q:Give me a summary of your current job description. (对你目前的工作,能否做个概括的说明。)
    A:I have been working as a computer programmer for five years. To be specific, I do system analysis, trouble shooting and provide software support. (我干了五年的电脑程序员。具体地说,我做系统分析,解决问题以及软件供应方面的支持。)

    Q:Why did you leave your last job?(你为什么离职呢?)
    A: Well, I am hoping to get an offer of a better position. If opportunity knocks, I will take it.(我希望能获得一份更好的工作,如果机会来临,我会抓住。)
    A:I feel I have reached the "glass ceiling" in my current job. / I feel there is no opportunity for advancement. (我觉得目前的工作,已经达到顶峰,即沒有升迁机会。)

    Q:How do you rate yourself as a professional?(你如何评估自己是位专业人员呢?)
    A: With my strong academic background, I am capable and competent. (凭借我良好的学术背景,我可以胜任自己的工作,而且我认为自己很有竞争力。)
    A:With my teaching experience, I am confident that I can relate to students very well. (依我的教学经验,我相信能与学生相处的很好。)

    Q: What contribution did you make to your current (previous) organization?(你对目前/从前的工作单位有何贡献?)
    A: I have finished three new projects, and I am sure I can apply my experience to this position. (我已经完成三个新项目,我相信我能将我的经验用在这份工作上。)

    Q:What do you think you are worth to us?(你怎么认为你对我们有价值呢?)
    A:I feel I can make some positive contributions to your company in the future. (我觉得我对贵公司能做些积极性的贡献。)

    Q:What make you think you would be a success in this position? (你如何知道你能胜任这份工作?)
    A:My graduate school training combined with my internship should qualify me for this particular job. I am sure I will be successful. (我在研究所的训练,加上实习工作,使我适合这份工作。我相信我能成功。)

    Q:Are you a multi-tasked individual?(你是一位可以同时承担数项工作的人吗?) or

    Do you work well under stress or pr essure?(你能承受工作上的压力吗?)
    A:Yes, I think so.
    A:The trait is needed in my current(or previous) position and I know I can handle it well. (这种特点就是我目前(先前)工作所需要的,我知道我能应付自如。)

    Q:What provide you with a sense of accomplishment. (什么会让你有成就感?)
    A:Doing my best job for your company. (为贵公司竭力效劳。)
    A:Finishing a project to the best of my ability. (尽我所能,完成一个项目。)

      Q:If you had a lot of money to donate, where would you donate it to?Why?(假如你有很多钱可以捐赠,你会捐给什么单位?为什么?)
    A:I would donate it to the medical research because I want to do something to help others. (我会捐给医药研究,因为我要为他人做点事。)
    A:I prefer to donate it to educational institutions. (我乐意捐给教育机构。)

      Q:What is most important in your life right now?(眼下你生活中最重要的是什么?)
    A:To get a job in my field is most important to me. (对我来说,能在这个领域找到工作是最重要的。)
    A:To secure employment hopefully with your company. (希望能在贵公司任职对我来说最重要。)

      Q:What current issues concern you the most?(目前什么事是你最关心的?)
    A:The general state of our economy a

    nd the impact of China' entry to WTO on our industry. (目前中国经济的总体情況以及中国入世对我们行业的影响。)

      Q: How long would you like to stay with this company?(你会在本公司服务多久呢?)
    A: I will stay as long as I can continue to learn and to grow in my field. (只要我能在我的行业力继续学习和长进,我就会留在这里。)

      Q:Could you project what you would like to be doing five years from now?(你能预料五年后你会做什么吗?)
    A:As I have some administrative experience in my last job, I may use my organizational and planning skills in the future.
    (我在上一个工作中积累了一些行政经验,我将来也许要运用我组织和计划上的经验和技巧。)
    A:I hope to demonstrate my ability and talents in my field adequately. (我希望能充分展示我在这个行业的能力和智慧。)
    A:Perhaps, an opportunity at a management position would be exciting.(也许有机会,我将会从事管理工作。)
    如果不愿正面回答,也可以说:
    It would be premature for me to predict this. (现在对此问题的预测,尚嫌过早。)
    甚至还可以打趣的说:
    Hypothetically speaking, I might be able to do your current job as a director.(或 CEO 或 president)((说不定,我也能做你现在主任的工作呢!)


    Q: What range of pay-scale are you interested in?(你喜欢那一种薪水层次标准?)
    A: Money is important, but the responsibility that goes along with this job is what interests me the most. (薪水固然重要,但这工作伴随而来的责任更吸引我。)
    A: 假如你有家眷,可以说:
    To be frank and open with you, I like this job, but I have a family to support. (坦白地说,我喜欢这份工作,不过我必须要负担我的家庭。)

    Q:What is your strongest trait(s)?(你个性上最大的特点是什么?)
    A:Helpfulness and caring.(乐于助人和关心他人。)
    A:Adaptability and sense of humor.(适应能力和幽默感。)
    A:Cheerfulness and friendliness.(乐观和友爱。)

    Q: How would your friends or colleagues describe you?(你的朋友或同事怎样形容你?)
    A: (pause a few seconds) (稍等几秒钟再答,表示慎重考虑。)
    They say Mr. Chen is an honest, hardworking and responsible man who deeply cares for his family and friends. (他们说陈先生是位诚实、工作努力,负责任的人,他对家庭和朋友都很关心。)
    A:They say Mr. Chen is a friendly, sensitive, caring and determined person. (他们说陈先生是位很友好、敏感、关心他人和有决心的人。)

    Q:What personality traits do you admire?(你欣赏哪种性格的人?)
    A: (I admire a person who is)honest, flexible and easy-going.

    (诚实、不死板而且容易相处的人。)
    A: (I like) people who possess the "can do" spirit. (有"实际行动"的人。)

    Q:What leadership qualities did you develop as an administrative personnel?(作为行政人员,你有什么样的领导才能?)
    A:I feel that learning how to motivate people and to work together as a team will be the major goal of my leadership. (我觉得学习如何把人们的积极性调动起来,以及如何配合协同的团队精神,是我行政工作的主要目标。)
    A:I have refined my management style. by using an open-door policy. (我以开放式的政策,改进我的行政管理方式。)

    Q:How do you normally handle criticism?(你通常如何处理別人的批评?)
    A:Silence is golden. Just don't say anything; otherwise the situation could become worse. I do, however, accept constructive criticism. (沈默是金。不必说什么,否则情况更糟,不过我会接受建设性的批评。)
    A:When we cool off, we will discuss it later. (我会等大家冷靜下来再讨论。)

    Q: What do you find frustrating in a work situation?(在工作中,什么事令你不高兴?)
    A: Sometimes, the narrow-minded people make me frustrated. (胸襟狭窄的人,有时使我泄气。)
    A:Minds that are not receptive to new ideas. (不能接受新思想的那些取。)

    Q:How do you hand

    le your conflict with your colleagues in your work? (你如何处理与同事在工作中的意见不和?)
    A:I will try to present my ideas in a more clear and civilized manner in order to get my points across. (我要以更清楚文明的方式,提出我的看法,使对方了解我的观点。)

    Q:How do you handle your failure?(你怎样对待自己的失敗?)
    A: None of us was born "perfect". I am sure I will be given a second chance to correct my mistake. (我们大家生来都不是十全十美的,我相信我有第二个机会改正我的错误。

  • 第19天

    2010-08-23 10:44:27

    bag

    village pub

    landlord  店主

    pay the bill 账单

     

441/3123>
Open Toolbar