发布新日志

  • monkey如何获取app包名

    2016-12-16 14:43:24

    使用aapt    
    aapt是sdk自带的一个工具,在sdk\builds-tools\目录下,
    1. 在cmd中,切换至sdk\builds-tools\目录下,即aapt.exe目录下
    2.以QQ音乐为例,命令行中切换到aapt.exe目录执行:aapt dump badging C:\Users\Administrator\Desktop\QQyinle_155.apk(apk所在目录位置)
    3.运行后的结果中以下两行分别是应用包名package和入口activity名称
    package: name='com.tencent.qqmusic'
    launchable-activity: name='com.tencent.qqmusic.activity.AppStarterActivity'
    以上方法本人亲自操作过,以下诸多方法借鉴其他人,mark一下:

    方法一:
    adb shell pm list package -f
    将获取手机内所有apk对应的包名和路径

    方法二:
    adb shell dumpsys window w | findstr \/ | findstr name=
    先打开需要查找的apk后,再敲入以上命令

    方法三:
    C:\Users\Administrator>adb shell
    root@msm8916_32_512:/ # logcat | grep Android.intent.category.LAUNCHER

    方法四:
    adb shell dumpsys activity > d:\log.txt
    先启动需要的查找的apk,再敲入以上命令,在stack #1下查找cmp=

    方法五:
    C:\Users\Administrator>adb shell
    root@msm8916_32_512:/ # logcat | grep START
    先启动需要查找的apk,再敲入以上命令,找到最后一个ActivityManager


    方法六:
    查看AndroidManifest.xml
    1.使用apktool反编译app:apktool d QQyinle_155.apk E:\apk\QQYinyue
    2.打开AndroidManifest.xml
    manifest节点的package属性值是应用的包名:<manifest package=”com.estrongs.android.pop”>
    查找android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity,该activity对应的android:name属性既是入口activity名称,
    android.intent.action.MAIN决定应用程序最先启动的Activity
    android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里
  • Jmeter 均衡负载配置

    2016-04-11 15:20:40


    使用多台机器产生负载的操作步骤如下:

    (1)在所有期望运行jmeter作为 负载生成器的机器上安装jmeter, 并确定其中一台机器作为 controller(127.0.0.1) ,其他的的机器作为agent (192.168.31.104)。

    (2)在controller机器的jmeter的bin目录下,找到jmeter.properties 文件,编辑该文件:

    查找:
    remote_hosts=127.0.0.1
    修改为:
    remote_hosts=127.0.0.1:1099,192.168.31.104:1099 
    如果controller机器也作为agent, 那就在remote_hosts中配置上controller的IP,否则,不配置。

    (3) 运行所有 agent 机器上(127.0.0.1和192.168.31.104,)的jmeter-server.bat 文件

    (4)启动controller 机子上的jmeter应用jmeter.bat,选择菜单“运行”--->“远程启动”,来分别启动agent ,也可以直接选择“远程全部启动”来将所有的agent启动。

     

     

    遇到的常见问题

    1、在Controller端上控制某台机器Run,提示"Bad call to remote host"。

    解决方法:检查被控制机器上的jmeter-server有没有启动,或者JMeter.properties中remote_hosts的配置错误。
     
    2、Agent机器启动Jmeter_server.bat时,后台提示:"could not find ApacheJmeter_core.jar"
    解决方法:确定在Agent机器安装jdk,并设置环境变量
     
    3、远程启动时,报错:

    ERROR - jmeter.gui.action.RemoteStart: Failed to initialise remote engine java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: 
    java.net.ConnectException: Connection refused: connect
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
    at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
    at sun.rmi.server.UnicastRef.newCall(Unknown Source)
    at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
    at java.rmi.Naming.lookup(Unknown Source)
    at org.apache.jmeter.engine.ClientJMeterEngine.getEngine(ClientJMeterEngine.java:54)
    at org.apache.jmeter.engine.ClientJMeterEngine.<init>(ClientJMeterEngine.java:67)
    at org.apache.jmeter.gui.action.RemoteStart.doRemoteInit(RemoteStart.java:180)
    at org.apache.jmeter.gui.action.RemoteStart.doAction(RemoteStart.java:80)
    at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:81)

    这个问题终于被我解决了,其实原因好简单呀。只要将本机的server.bat执行即可。

    注意:要是在配置的地方写了127.0.0.1 的话 就要开本机的 sever.bat. 不写的话 就不用开了

     

    4、查看1099端口是否被占用

    netstat -ano | findstr "1099"
    tasklist | findstr "1099"


  • web基本测试点

    2016-01-05 16:18:08

    1.浏览器的后退按钮 
      提交表单一条已经成功提交的记录,back后再提交,看系统会如何处理。检查多次使用back健的情况在有back的地方,back,回到原来的页面,再back,重复几次,看是否会报错。
    2.通过修改URL中的参数,向服务器发起请求,看看会有什么样的结果
      利用一些工具,如http watch,可以记录和捕获向服务器发起的URL请求,然后修改其中的参数向服务器发起请求.该功能点可以和安全测试结合起来.
    3.对表单多次提交
      对提交按钮快速多次点击提交,看看会不会在数据库中形成多条记录.网速或响应快时,这点容易被遗漏,但用户的网络可能慢,很容易多次点击提交.如果前端做了处理,试试捕获在提交时生成的URL,绕过页面,再次对服务器发起请求,会有什么结果
    4.光标的跳转
      执行操作后,光标是否停留在合适的位置.如邮箱登录,输完用户名回车后,光标应该跳转到密码框内.细节问题,但是影响用户感受
    5.tab键是否功能正确
      和光标的跳转类似,特别是在有输入项时,查看tab键的焦点顺序是否正确
    6.对全角/半角符号的输入测试
      有输入项时,要考虑全/半角字条的输入,及GBK字符
    7.多版本IE测试
    1:易用性:
    按钮名称应该易懂,用词准确,屏弃没楞两可的字眼,要与同一界面上的其他按钮易于区分,能望文知意最好。
    1):完成相同或相近功能的按钮用Frame框起来,常用按钮要支持快捷方式。
    2):完成同一功能或任务的元素放在集中位置,减少鼠标移动的距离。
    3):按功能将界面划分区域块,用Frame框括起来,并要有功能说明或标题。
    4):界面要支持键盘自动浏览按钮功能,即按Tab键、回車鍵的自动切换功能。
    5):界面上首先要输入的和重要信息的控件在Tab顺序中应当靠前,位置也应放在窗口上较醒目的位置。
    6):同一界面上的控件数最好不要超过10个,多于10个时可以考虑使用分页界面显示。
    7):分页界面要支持在页面间的快捷切换,常用组合快捷键Ctrl+Tab
    8):默认按钮要支持Enter及选操作,即按Enter后自动执行默认按钮对应操作。
    9):可寫控制項檢測到非法輸入後應給出說明並能自動獲得焦點。
    10):Tab键的顺序与控件排列顺序要一致,目前流行总体从上到下,同时行间从左到右的方式。
    11):核取方塊和選項框按選擇幾率的高底而先後排列。
    12):核取方塊和選項框要有默認選項,並支援Tab選擇。
    13):選項數相同時多用選項框而不用下拉清單框。
    14):界面空间较小时使用下拉框而不用选项框。
    15):选项数較少时使用选项框,相反使用下拉列表框。
    16):专业性强的软件要使用相关的专业术语,通用性界面则提倡使用通用性词语。
    2.规范性:
    1):常用菜单要有命令快捷方式。
    2):完成相同或相近功能的菜单用横线隔开放在同一位置。
    3):菜单前的图标能直观的代表要完成的操作。
    4):菜单深度一般要求最多控制在三层以内。
    5):工具栏要求可以根据用户的要求自己选择定制。
    6):相同或相近功能的工具栏放在一起。
    7):工具栏中的每一个按钮要有及时提示信息。
    8):一条工具栏的长度最长不能超出屏幕宽度。
    9): 工具栏的图标能直观的代表要完成的操作。
    10):系统常用的工具栏设置默认放置位置。
    11):工具栏太多时可以考虑使用工具箱。
    12):工具箱要具有可增减性,由用户自己根据需求定制。
    13):工具箱的默认总宽度不要超过屏幕宽度的1/5。
    14): 状态条要能显示用户切实需要的信息,常用的有:
    目前的操作、系统状态、用户位置、用户信息、提示信息、错误信息等,如果某一操作需要的时间较长,还应该显示进度条和进程提示
    15):滚动条的长度要根据显示信息的长度或宽度能及时变换,以利于用户了解显示信息的位置和百分比。
    16):状态条的高度以放置五好字为宜,滚动条的宽度比状态条的略窄。
    17):菜单和工具条要有清楚的界限;菜单要求凸出显示,这样在移走工具条时仍有立体感。
    18):菜单和状态条中通常使用5号字体。工具条一般比菜单要宽,但不要宽的太多,否则看起来很不协调。
    19): 右键快捷菜单采用与菜单相同的准则。
    4:合理性:
    屏幕对角线相交的位置是用户直视的地方,正上方四分之一处为易吸引用户注意力的位置,在放置窗体时要注意利用这两个位置。
    1):父窗体或主窗体的中心位置应该在对角线焦点附近。
    2):子窗体位置应该在主窗体的左上角或正中。
    3):多个子窗体弹出时应该依次向右下方偏移,以显示窗体出标题为宜。
    4):重要的命令按钮与使用较频繁的按钮要放在界面上注目的位置。
    5):错误使用容易引起界面退出或关闭的按钮不应该放在易点击的位置。横排开头或最后与竖排最后为易点位置。
    6):与正在进行的操作无关的按钮应该加以屏蔽(Windows中用灰色显示,没法使用该按钮)。
    7):对可能造成数据无法恢复的操作必须提供确认信息,给用户放弃选择的机会。
    8):非法的输入或操作应有足够的提示说明。
    9): 对运行过程中出现问题而引起错误的地方要有提示,让用户明白错误出处,避免形成无限期的等待。
    10): 提示、警告、或错误说明应该清楚、明了、恰当。
    5. 美观
    1): 如果窗体支持最小化和最大化或放大时,窗体上的控件也要随着窗体而缩放;切忌只放大窗体而忽略控件的缩放。
    2):对于含有按钮的界面一般不应该支持缩放,即右上角只有关闭功能。
    3): 通常父窗体支持缩放时,子窗体没有必要缩放。
    4):如果能给用户提供自定义界面风格则更好,由用户自己选择颜色、字体等
    6:菜单位置:
    菜单是界面上最重要的元素,菜单位置按照按功能来组织。
    1): 菜单通常采用“常用--主要--次要--工具--帮助”的位置排列,符合流行的Windows风格。
    2): 常用的有“文件”、“編輯”,“查看”等,幾乎每個系統都有這些選項,當然要根據不同的系統有所取捨。
    3): 下拉菜单要根据菜单选项的含义进行分组,並且按照一定的规则进行排列,用横线隔开。
    4): 一组菜单的使用有先后要求或有向导作用时,应该按先后次序排列。
    5): 没有顺序要求的菜单项按使用频率和重要性排列,常用的放在开头, 不常用的靠后放置;重要的放在开头,次要的放在后边。
    6): 如果菜单选项较多,应该采用加长菜单的长度而减少深度的原则排列。
    7): 菜单深度一般要求最多控制在三层以内。
    8): 对常用的菜单要有快捷命令方式,组合原则见8。
    9): 对与进行的操作无关的菜单要用屏蔽的方式加以处理,如果采用动态加载方式——即只有需要的菜单才显示——最好。
    10): 菜单前的图标不宜太大,与字高保持一直最好。
    11): 主菜单的宽度要接近,字数不应多于四个,每个菜单的字数能相同最好。
    12): 主菜单数目不应太多,最好为单排布置。
    13):菜单条是否显示在合适的语境中?
    14):应用程序的菜单条是否显示系统相关的特性(如时钟显示)?
    15):下拉式操作能正确工作吗?
    16):菜单、调色板和工具条是否工作正确?
    17):是否适当地列出了所有的菜单功能和下拉式子功能?
    18):是否可能通过鼠标访问所有的菜单功能?
    19):相同功能按钮的图标和文字是否一致?
    20):是否能够用其他的文本命令激活每个菜单功能?
    21):菜单功能是否随当前的窗口操作加亮或变灰?
    22):菜单功能是否正确执行?
    23):菜单功能的名字是否具有自解释性?
    24):菜单项是否有帮助,是否语境相关?
    25):在整个交互式语境中,是否可以识别鼠标操作?
    26):如果要求多次点击鼠标,是否能够在语境正确识别?
    27):如果鼠标有多个按钮,是否能够在语境中正确识别?
    28):光标、处理指示器和识别指针是否随操作恰当地改变?
    7:独特性:
    如果一味的遵循业界的界面标准,则会丧失自己的个性.在框架符合以上规范的情况下,设计具有自己独特风格的界面尤为重要。尤其在商业软件流通中有着很好的迁移默化的广告效用。
    1): 安装界面上应有单位介绍或产品介绍,并有自己的图标。
    2): 主界面,最好是大多数界面上要有公司图标。
    3): 登录界面上要有本产品的标志,同时包含公司图标。
    4): 帮助菜单的“关于”中应有版权和产品信息。
    5): 公司的系列产品要保持一直的界面风格,如背景色、字体、菜单排列方式、图标、安装过程、按钮用语等应该大体一致。

    8:快捷方式的组合
    在菜单及按钮中使用快捷键可以让喜欢使用键盘的用户操作得更快一些 在西文Windows及其应用软件中快捷键的使用大多是一致的。
    菜单中:
    1):面向事务的组合有:
    Ctrl-D 删除 ;Ctrl-F 寻找 ;Ctrl –H替换;Ctrl-I 插入 ;Ctrl-N 新记录 ;Ctrl-S 保存 Ctrl-O 打开。
    2):列表:
    Ctrl-R ,Ctrl-G定位;Ctrl-Tab下一分页窗口或反序浏览同一页面控件;。
    3):编辑:
    Ctrl-A全选;Ctrl-C 拷贝;Ctrl-V 粘贴;Ctrl-X 剪切;Ctrl-Z撤消操作;Ctrl-Y恢复操作。
    4)文件操作:
    Ctrl-P 打印;Ctrl-W 关闭。
    5):系统菜单
    Alt-A文件;Alt-E编辑;Alt-T工具;Alt-W窗口;Alt-H帮助。
    6):MS Windows保留键:
    Ctrl-Esc 任务列表 ;Ctrl-F4 关闭窗口; Alt-F4 结束应用;Alt-Tab 下一应用 ;Enter 缺省按钮/确认操作 ;Esc 取消按钮/取
    消操作 ;Shift-F1 上下文相关帮助。
    按钮中:
    可以根据系统需要而调节,以下只是常用的组合。
    Alt-Y确定(是);Alt-C取消;Alt-N 否;Alt-D删除;Alt-Q退出;Alt-A添加;Alt-E编辑;Alt-B浏览;Alt-R读;Alt-W写。
    这些快捷键也可以作为开发中文应用软件的标准,但亦可使用汉语拼音的开头字母。
    9:安全性考虑:
    在界面上通过下列方式来控制出错几率,会大大减少系统因用户人为的错误引起的破坏。开发者应当尽量周全地考虑到各种可能发生的问题,使出错的可能降至最小。如应用出现保护性错误而退出系统,这种错误最容易使用户对软件失去信心。因为这意味着用户要断思路,并费时费力地重新登录,而且已进行的操作也会因没有存盘而全部丢失。
    安全性细则:
    1):最重要的是排除可能会使应用非正常中止的错误。
    2):应当注意尽可能避免用户无意录入无效的数据。
    3):采用相关控件限制用户输入值的种类。
    4):当用户作出选择的可能性只有两个时,可以采用单选框。
    5):当选择的可能再多一些时,可以采用复选框,每一种选择都是有效的,用户不可能输入任何一种无效的选择。
    6):当选项特别多时,可以采用列表框,下拉式列表框。
    7):在一个应用系统中,开发者应当避免用户作出未经授权或没有意义的操作。
    8):对可能引起致命错误或系统出错的输入字符或动作要加限制或屏蔽。
    9):对可能发生严重后果的操作要有补救措施。通过补救措施用户可以回到原来的正确状态。
    10):对一些特殊符号的输入、与系统使用的符号相冲突的字符等进行判断并阻止用户输入该字符。
    11):对错误操作最好支持可逆性处理,如取消系列操作。
    12):在输入有效性字符之前应该阻止用户进行只有输入之后才可进行的操作。
    13):对可能造成等待时间较长的操作应该提供取消功能。
    14):特殊字符常有;;’”><,`‘:“[”{、\|}]+=)-(_*&&^%$#@!,.。?/还有空格。
    15):与系统采用的保留字符冲突的要加以限制。
    16):在读入用户所输入的信息时,根据需要选择是否去掉前后空格。
    17):有些读入数据库的字段不支持中间有空格,但用户切实需要输入中间空格,这时要在程序中加以处理
    10:多窗口的应用与系统资源:
    设计良好的软件不仅要有完备的功能,而且要尽可能的占用最底限度的资源。
    1):在多窗口系统中,有些界面要求必须保持在最顶层,避免用户在打开多个窗口时,不停的切换甚至最小化其他窗口来显示该窗口。
    2):在主界面载入完毕后自动卸出内存,让出所占用的WINDOWS系统资源。
    3):关闭所有窗体,系统退出后要释放所占的所有系统资源 ,除非是需要后台运行的系统。
    4):尽量防止对系统的独占使用。
    5):窗口能否基于相关的输入或菜单命令适当地打开?
    6):窗口能否改变大小、移动和滚动?
    7):窗口中的数据内容能否使用鼠标、功能键、方向箭头和键盘访问?
    8):当被覆盖并重调用后,窗口能否正确地再生?
    9):需要时能否使用所有窗口相关的功能?
    10):所有窗口相关的功能是可操作的吗?
    11):是否有相关的下拉式菜单、工具条、滚动条、对话框、按钮、图标和其他控制可为窗口可用,并适当地显示?
    12):显示多个窗口时,窗口的名称是否被适当地表示?
    13):活动窗口是否被适当地加亮?
    14):如果使用多任务,是否所有的窗口被实时更新?
    15):多次或不正确按鼠标是否会导致无法预料的副作用?
    16):窗口的声音和颜色提示和窗口的操作顺序是否符合需求?
    17):窗口是否正确地关闭?

  • LoadRunner 录制无法打开IE解决办法

    2014-03-07 10:29:28

    LoadRunner 录制无法打开IE怎么


    办?


    无法打开IE的主要原因是,LR的注册信息被修改了,所以无法找到IE的路径。解决这个问题的关键就是要重新注册LR。

    方法如下:

    1. 在LR安装目录的\bin下,单击register_vugen.bat文件,注册信息被重新改写了,然后重启机器,注册信息才能生效。如果没有register_vugen.bat文件,可以直接将LR8.0中的文件copy来用。

    2. 当有多个浏览器时,需要将IE置为默认浏览器。在Run-time Settings中设置Browser Emulation的User-Agent值为IE。由于IE的第三方插件的影响,需要在IE的工具-Internet选项…-高级中,将“启用第三方浏览器扩展”的选中去掉。

    3. 对于Windows 2003上无法录制IE6/7,导致IE Crash,iedw.exe(IE Crash Detection)报告错误事件,可能原因是Windows Server默认对IE加载DEP(数据执行保护)特性,而Vugen.exe刚好又跟DEP冲突。方法:我的电脑>右键属性->高级->“性能”部分的“设置”->“数据执行保护”->点击“添加”按钮->将LR安装目录bin下的vugen.exe添加进去->点击确定,重启一下LR,就可以录制了。                   

          还有一种情况,操作系统如果是:win7是64位   loadrunner11+IE9

    录制前,弹出的设置框

    1. LoadRunner11录制时不能弹出IE浏览器
    2. 2

      由于我的win7是64位,所以有C盘中两个Program Files和Program Files(X86),我估计就是这个因数引起的不能弹出IE。所以,把Program to record的值修改为如下,保存与Working directory一致。

      LoadRunner11录制时不能弹出IE浏览器
    3. 3

      OK啦,我的现在能行了。如果本经验未能帮助到你,请再百度其他方法,我只是写了其他人没写的。

      补充:我的win7 64位+LoadRunner 11+IE8,录制时不弹出浏览器。把IE8升级为IE9,立马正常了。

      END

    注意事项

    • Program to record的值与Working directory保存一致。
    • Loadrunner 11搭配IE9最好哦
  • Jmeter + DadBoby 安装使用

    2014-03-04 14:47:38

       一直接触LR比较多,这阵子突然想了解一下开源的性能测试工具,无意中接触到了Jmeter+Badboy,这两款工具对于想进行性能测试,但又对LR高额的商业费用望而止步的小公司可谓是再适合不过了。

    自已小结一下:
    JMeter 是纯Java编写的功能与性能测试工具,但其录制脚本过于笨拙复杂,成为使用者的诟病。Badboy是用C++开发的,被用于测试和开发复杂的动态应用。 它提供了强大的屏幕录制和回放功能,同时也提供了丰富的图形结果分析功能。只要不用于商业目的就可以免费使用。因此这两工具的结合,就成为了绝配。你可以 用Badboy录制脚本,然后将录制的脚本导出为JMeter格式的脚本,最后将该脚本导入到JMeter,借助于JMeter强大的测试功能模拟大量的 虚拟用户,进行复杂的性能测试。

    1. 安装Badboy
          下载地址 http://badboy.com.au/download/index,按网页提示输入name/email/company等后下载标识为recommended的那个版本。
          这是一个可执行程序,下载之后双击,根据安装向导安装。

    2. 安装Jmeter
    http://jmeter.apache.org/选择Download Releases --点击下载Binary: apache-jmeter-2.7_src.zip(注意zip包才是适合windows系统的,其中Source是可以看到源码的包,如果不需要查看源码可以只下载Binary下的zip包。)下载后解压;
    安装Jmeter需本地安装JDK及配置好环境变量,详细配置如下:
      解压apache-jmeter-2.7_src.zip至C盘c:\apache-jmeter-2.7目录下,桌面选择”我的电脑“(右键)--高级--环境变量,在”系统变量“---”新建“,在变量名中输入:JMETER_HOME,变量值中输入:c:\apache-jmeter-2.7,再修改CLASSPATH变量,变量值中添加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar; 然后确定。
    然后到Jmeter\bin下运行jmeter.bat即可打开Jmeter

    3. 用Badboy录制脚本并到处为JMeter格式的脚本
         在开始菜单中启用Badboy,点击工具栏上的红色圆饼按钮,开始录制,然后在URL框中输入你要测试站点的URL。随便点击几个链接,然后点击工具栏上的黑色方框按钮,停止录制。最后点击 File –>Export to JMeter… ,将录制的脚本导出为Jmeter格式的脚本。

    4. 启用JMeter,导入Badboy录制的脚本,并设置测试计划,开始测试
    然后点击 文件 –>打开,在文件管理器中选择你刚导出的Badboy录制的脚本。




    Jmeter和LR一样有着录制脚本、参数化、检查点、集合点、设置关联、场景等。

    1,Jmeter参数化:
    先准备一个dat文件保存在本地,然后选择”选项“---函数助手---__CSVRead--输入dat文件保存的路径如C:\test.dat,点击生成并复制${__CSVRead(c:\test.dat,)}

    找到需参数化的页面--将复制的${__CSVRead(c:\test.dat,)}粘贴到参数化值的位置。


    2,检查点:
    检查对对象设置:右键点击某页面---->添加---->断言---->响应断言
    检查结果:添加一个断言结果,右键点击页面---->添加---->监听器---->断言结果
    还可以再添加一个“查看结果树” 右键点击我们的“登录”页面---->添加---->监听器---->查看结果树

    3,集合点设置:
    右键点击 step1---->定时器---->Synchronizing Timer,这样子就添加了一个“集合点”,如果发现集合点的位置不对,可发随需要插入到相应位置。




    4,关联:
    方法一,从前一个请求中取,用正则表达式提取器。
    具体方法,在需要获得数据的请求上右击添加一个后置处理器-->正则表达式提取器
    引用名称即下一个请求要引用的参数名称,如填写title,则可用${title}引用它。
    正则表达式中()括起来的部分就是要提取的。.代表任意字符,*代表出现任意次。
    模板,用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$2$,$3$等等,表示解析到的第几个值给title。
    匹配数字,0代表随机,-1代表所有,其余正整数代表将在检查的内容中,第几个匹配的内容提取出来。

    方法二,用xpath从前一个请求中取。这种形式比较适合于返回为xml片段的情况。
    在需要获得数据的请求上右击添加一个后置处理器-->xPath Extractor。
    引用名称即下一个请求要引用的参数名称,如填写body,则可用${body}引用它。
    XPath query,即xpath的表达式,要符合xpath的语法。

      有些是从网上总结的,便于以后学习,第一阶段先小小总结一下,算是入个门。
  • 打开IE地址栏

    2013-11-01 15:03:07

    Dim rowcount,URL

    rowcount=DataTable.GetSheet("Global").getRowCount

    msgbox rowcount

    For i=1 to 2 step 1

    URL=DataTable.GetSheet("Global").GetParameter("_1800petmeds").ValueByRow(i)

    SystemUtil.Run "iexplore.exe",URL   ‘此句用浏览器打开IE地址栏

  • QTP设置—双击事件录不上的解决办法

    2013-10-15 15:39:12

    QTP设置—双击事件录不上的解决办法

    QTP的脚本录制过程中,有时候会不可避免的录制需要鼠标双击才能出来的事件,但是QTP的默认设置中鼠标双击事件得不到响应,如果要录制双击鼠标事件需要更改QTP的默认设置,加载进来鼠标双击事件,下面介绍一下设置的具体过程。

    1、在菜单栏中选中‘Tools功能按钮,点tools目录下的web event recording configuration选项

    2、在弹出的web event recording configuration对话框中点击custom setting

    3、弹出的Custom Web Recording Configuration对话框点击菜单栏中的Event功能按钮,开其下的Add目录,点击ondblclik

    4经过这样的设置‘ondbclick就被加载进来了

    这样,再次录制鼠标双击动作时就可以顺利录上了。 

  • 在loadrunner操作中,所碰见问题及解决方法

    2012-10-22 17:19:35

    问题1:
    在controller中,运行时,报如下错误“Error: Socket descriptor not found.  Hint: the problem might be solved applying the following: (1) Update Run-Time Settings to Run Vuser as a process. (2) Add the following line into mdrv.dat, [lr_socks] section: 'ExtCmdLineConc=-UsingWinInet Yes'.
    解决方法:
    1、根据错误提示,在run-time setting中的Miscellaneous项中设置“run vuser as a process”;在安装目录的dat文件夹中查找mdrv.dat,找到[lr_socks]段,在最后添加“ExtCmdLineConc=-UsingWinInet Yes”一句;
    2、在选择了expert mode后,选择option->general,选中“ip address allocation per process”;
    3、如果仍然报错,在菜单栏中点击Diagnostics->configuration项,将web page diagnostics项disable掉(该路径是在loadrunner11中的位置,若是loadrunner8.0,则在Diagnostics--->Distribution,disable Web Page Diagnostics选项

    问题2:
    使用loadrunner进行IP虚拟设置,在点击IP wizard时,弹出错误窗口,内容如下:“The IP wizard does not support DHCP-enabled network cards.Your cards are either DHCP-enabled or configured with invalid settings.Please contact your system administrator.”
    解决方法:
    1.禁用其他多余网卡,将要用的网卡设置为静态IP地址;
    2.如果操作系统是win7的,需要点击右键,选择“以管理员身份运行”启动IP wizard。(若将DHCP client禁用,则会发生IP wizard无法添加IP 地址的问题,因此一定要慎重~)

    问题3:
    使用IP wizard创建了若干个IP后,点击ok,会弹出DOS界面,运行命令”netsh interface ip add address 本地连接 192.168.10.2 255.255.255.0“。但弹出错误”RPC服务器不可用“。
    解决方法:
    该问题是由于禁止了DHCP client服务,在运行中输入servics.msc,右键启动该服务即可。



  • 05---运行时没有黄色的箭头

    2012-08-03 17:17:01

    为什么在运行时没有黄色的箭头,是不是QTP有Bug?时有时无的
    其实,出现这个问题就是这个设置的问题,如果选择了Fast,在运行的时候是不会出现黄色箭头的
  • 04---快捷键

    2012-08-03 16:25:34

    Ctrl+Alt+F5组合键:  停止运行的快捷键设置
    F3:录制
    F5:运行

  • 03---设置等待网页加载时间的最大值

    2012-08-03 16:18:56

    设置等待网页加载时间的最大值

    File→Settings→Web

       Browser navigation timeout:XX seconds:设置运行测试步骤之前等待网页加载时间的最大值(默认60秒)。这个时间具体有什么用呢?举个直观点的例子,假设有一个脚本,内容很简单,就两个步骤,“1、进入51Tesing首页,2、点击注册按钮”,而访问网站的宽带最近又出了点小问题,打开51Testing网站的首页每次都非常慢,至少需要2分钟(120秒),那么此时QTP脚本在运行时就会报错。为什么?因为默认等待网页打开的时间已经超过了60秒,此时QTP就会执行下一个步骤“点击注册”,但是由于网页还没有打开所以走到下一个步骤的时候在页面上找不到“注册”这个测试对象,最终导致运行失败并报错。所以,此时的解决方案就是打开这个选项,然后将超时时间设置得更大。读者以后如果在项目中遇到类似的问题请记得这个小小的实用设置。

  • 02---录制模式

    2012-08-03 15:41:13

    录制模式

           对于正常录制模式不能录制到的动作,可以使用模拟录制模式来弥补。例如,录制一个鼠标光标拖动的动作,正常录制模式无法录制这个业务操作,这时就可以考虑切换到模拟录制模式记录鼠标光标的轨迹。模拟录制模式录制下来的脚本文件比较大,而且依靠这种方式是不可以由QTP进行编辑的。选择模拟录制模式,如果在回放时,改变了屏幕的分辨率或者窗口/屏幕的位置, 回放就会失败。
        开启模拟录制模式的方式。

      (1)前提是开启正常录制模式。

      (2)QTP上方菜单栏→Automation→Analog recording。

      (3)直接使用快捷键“Shift+Alt+F3”。

      (4)或在QTP界面上点击模拟录制图标进行录制


             根据实际的业务需求进行灵活地切换运用。只有在正常模式下不能录制自己想要的业务操作的时侯才可以使用模拟录制和低级录制,模拟录制和低级录制比正常录制需要占用更多的硬盘资源。一般先使用正常录制模式录制脚本,碰到正常模式不能录制到的脚本时再切换到模拟录制或低级录制来录制这些步骤,之后别忘记再切换回来。

  • 01---鼠标光标停止某区域上并保持几秒钟操作,或打开Popup页,录制方法

    2012-08-02 17:27:27

                        鼠标光标停留以及弹出popup窗口,录制设置

    解决方法:设置Web Event Recording Configuration

    首先,公布下这个功能的入口处:进入QTP→上方菜单栏→Tools→Web Event Recording Configuration

      先熟悉一下这个弹出的界面,首先了解一下Event configuration level的概念,QTP把它默认分成3级:Basic(最下面那格,也是默认的设置,图1-23的显示效果就是Basic效果)、Medium(中间那格)、High(最上面那格),要设置等级只需要将游标移动到相应位置即可。其次,可以看到有Custom Settings按钮,这个按钮就是用户的个性化定制,在QTP默认的3个等级都不符合场景需求时,可以使用该功能(下文会对这个功能的要点作讲解)。最后,Default Settings是恢复QTP默认设置功能。

      举第一个例子,事先提醒一下,现在的Event level是QTP默认的Basic等级(选了等级后,等级名称下会有些该等级的介绍,读者可以自行查看),大家设想这样一个场景(相信大家在项目中应该也碰到过类似的场景):有一个在线学习考试系统,在购买课程页面上显示了很多课程信息(如价格、有效期等),然后每个课程都有一个备注功能,要查看备注内容则需要将鼠标光标移上去并保持2秒钟后,会以popup形式弹出备注框后才能查看到。好了,有了这么个需求,那现在需要用QTP验证这个备注框的内容是否符合预期结果。首先肯定要做到的就是使其popup,手工操做是很简单的,放上去等2秒就好了,但是用QTP不一样,在Basic等级下,QTP在录制时是无法模拟到“放上去等2秒的操作的”。解决的办法就是需要把Event level提高到可以模拟这个操作的那个level。只有通过该解决方案才能解决项目应用的实际问题,不然这个自动化测试用例就没法实现成脚本!

       实例2,网站有个区域是一个信息公告区,不是静态的,是动态地从下到上滚动显示的。然后当将鼠标光标移动到某条信息上时,整个信息公告区就会变成静态的了,点击后就可以查看到那条信息。现在提出需求:成功将鼠标光标移动到[企业内训]下的第2条信息“圆满完成上海西门子医疗器械有限公...”上面,等待0.5秒,待信息公告区移动禁止后点击,这个需求很简单,(注:这里强调一下,等待0.5秒的需求是作者虚拟出来的,实际上鼠标光标只要放到信息公告栏里,信息就会变成静态的)。

       从手工操作的角度上来说,完成这个业务需求的时间不会大于2秒。步骤就是,鼠标光标→移动到信息上→等待信息公告区从动态变成静态→点击。但是从用QTP角度上来分析,就不会像手工操作那么简单了,难点就和popup例子一样,如何能使QTP模拟到鼠标光标停止在第2条信息上0.5秒的操作。其实就是将Event level提高或自定义至可以完成这个需求

  • jira 破解

    2011-12-29 15:04:00

    jira V4.2 破解
     
    1. 首先下载附件中的破解补丁(jira_crack.rar),进行解压;
     
    2.用破解补丁中的JiraLicenseStoreImpl.class文件覆盖安装目录下/.../atlassian/jira/atlassian-jira/WEB_INF/classes/com/atlassian/jira/license/JiraLicenseStoreImpl.class文件
     

    3. 用破解补丁中的Version2LicenseDecoder.class文件覆盖安装目录下/..../atlassian/jira/atlassian-jira/WEB_INF/lib/atlassian-extras-2.2.2.jar包中的atlassian-extras-2.2.2.jar\com\atlassian\extras\decoder\v2\Version2LicenseDecoder.class文件

     

    注:jar包可以用WinRAR打开,并可以采用拖拽的方式覆盖文件

     

    4.运行JIRA服务

     

    5. 登录jira系统,在需要输入注册码输入框输入以下内容, 注意,前后不要空格:

         

    #Sun Oct 25 00:50:34 CDT 2009

    Description=JIRA\: longmaster

    CreationDate=2011-12-30 

    ContactName=zzhcool@126.com

    jira.LicenseEdition=ENTERPRISE

    ContactEMail=zzhcool@126.com

    Evaluation=false

    jira.LicenseTypeName=COMMERCIAL

    jira.active=true

    licenseVersion=2

    MaintenanceExpiryDate=2099-10-24

    Organisation=zzh

    jira.NumberOfUsers=-1

    ServerID=B5EU-IZVX-K1SZ-39HC   (此处需要修改成你PC产生的ServerID)

    LicenseID=LID

    LicenseExpiryDate=2099-10-24

    CreationDate=2011-12-30 

  • web兼容性测试

    2011-08-03 15:47:05

    轻松搞定web兼容性测试

      摘要:

      众所周知,对于产品化的软件,其使用对象往往是不可预知的。对于web应用,我们无法预计用户的客户端配置和运行环境。所以,做好兼容性测试是非常重要的。兼容性主要包括浏览器版本、显示器分辨率、操作系统版本、浏览器语言等。同一个功能,需要在以上每种情况下测试通过才算完成。为了更易于测试,我们希望不同配置和版本的浏览器窗口能够并存。本文为大家列举了解决此问题的多种办法,由浅入深,最终实现最理想的测试状态。

      关键字:兼容性测试;IE;vmware;VirtualPC

      正文:

      对于进行产品化软件研发的企业来说,进行兼容性测试是非常重要的。因为我们创建的软件不是被某一特定用户使用,用户客户端及运行环境的多样性是不可预计的。Web应用软件的兼容性需要包括以下几种情况:浏览器语言、浏览器版本、操作系统版本、显示器分辨率等。同一个功能,需要在以上每种情况下测试通过才算完成。这实际上就带来了测试的复杂性。测试人员希望不同配置和版本的浏览器窗口能够并存,这样才能更易于测试。可是微软对IE进行了限制,使这一想法无法实现。本文为大家列举了解决此问题的多种办法,由浅入深,最终实现最理想的测试状态。

      方法一:IE Tester 和IE Collection

         

      IETester和IE Collection这两款软件的产生旨在解决多IE版本共存的问题,均可以在网上下载,并且是免费的,是使用最广的web兼容性测试软件。但是在使用时存在一些缺陷:

      1、不是所有机器都可以安装成功和正常使用,经常报错、死机,或导致原有的IE无法正常使用

      2、其实现原理是模拟的某个版本IE的技术,显示效果与真实IE还是有区别

      方法二:IE+DeveloperTools

      自从ie8推出以后,微软在IE内置了名为DeveloperTools的一个小工具,通过菜单栏的"工具->开发人员工具"可以开启这个功能,快捷键为F12。

      ……………………

      查看全文请点击下载:http://www.51testing.com/html/13/n-241113.html

      IETester和IE Collection这两款软件的产生旨在解决多IE版本共存的问题,均可以在网上下载,并且是免费的,是使用最广的web兼容性测试软件。但是在使用时存在一些缺陷:

      1、不是所有机器都可以安装成功和正常使用,经常报错、死机,或导致原有的IE无法正常使用

      2、其实现原理是模拟的某个版本IE的技术,显示效果与真实IE还是有区别

      方法二:IE+DeveloperTools

      自从ie8推出以后,微软在IE内置了名为DeveloperTools的一个小工具,通过菜单栏的"工具->开发人员工具"可以开启这个功能,快捷键为F12。

      方法四:IE+DeveloperTools+Virtual PC's Publish Virtual Application

      此时虽然已经前进了一大步,但是仍旧还存在一个问题:需要手工启动每个虚拟机并在前台运行。我们可不可以大胆的设想一下,能否从宿主机的桌面直接启动虚拟机的应用?好,我们换一个虚拟机软件--Windows Virtual PC,win7已经把Virtual PC很好的集成。同样安装好操作系统和IE后,使用Virtual PC的一大主打功能--"发布虚拟应用程序到桌面",直接在本机桌面建立一个快捷方式,此快捷方式将直接启动虚拟机的应用(比如IE),同时虚拟机也将在后台启动并运行。

      操作方法:手动添加快捷方式。在虚拟机操作系统中,将快捷方式从存放可执行文件的文件夹拖放到所有用户都能访问的"「开始」菜单"文件夹。例如,在 Windows XP 中,将快捷方式复制到"%systemdrive%\Documents and Settings\All Users\「开始」菜单\程序"中。 之后,宿主机就可以在「开始」菜单中"所有程序"->Windows Virtual PC->虚拟机名称下面会出现应用程序的名称。

  • 密文密码参数化技巧

    2010-11-30 15:45:08

                         如何处理加密数据

        在自动化测试过程时,登录页面,密码进行参数化时,我们又会碰到一个小问题,密码是密文的,而我们准备的测试数据是明文的,该如何处理呢?

        QTP提供了几种方式去完成此项工作。

        1. 简单的方式:切换到Expert View的Tab页面,将“SetSecure”这个函数改成“Set”,QTP就可以以明文方式处理数据了。

        2. 最快捷的方式:在DataTable中选中需要加密的数据,点击右键,依次选择【Data】--【Encrvnt】项,就可以将明文数据进行加密了。

        3. 调用函数去实现加密:函数Crypt.Encrypt(),例如:

         Org_password= "thisisorgpassword"

         E_password= Crypt.Encrypt(Org_password)

  • QTP自带订票系统B/S访问地址

    2010-11-30 14:23:46

     

    QTP工具自带的订票系统,B/S端访问地址:

             http://newtours.demoaut.com/

  • QTP 破解---注册机

    2010-11-30 13:55:23

    QTP破解

        以前使用QTP9.2 使用此方法成功破解,现在本人使用的HP QuickTest Professional 11 英文版,也成功适用。

    一、准备工作:

    1. 由于注册码文件自动生成到C:\Program Files\Common Files\Mercury Interactive\License Manager目录下,所以如果缺少这个路径文件,请先创建;

    2. 关闭杀毒软件。

    二、运行注册码应用程序

      1. 下载QTP注册机-见附件,应用程序mgn-mqt82.exe,双击运行,来创建注册码,见页面提示:

        -- e!l console v1.01 ---

    Geting MachineID...
    MachineID: 8-45036
    Generating License...
    License Generated Successfuly.
    License Saved: 'C:\Program Files\Common Files\Mercury Interactive\License Manager\lservrc'.
    All Done!

    注:如果提示框没有出现:'C:\Program Files\Common Files\Mercury Interactive\License Manager\lservrc',请先确保Mercury Interactive、License Manager文件夹是否创建,lservrc不用手工创建,当运行注册码运用程序时会自动生成。

      2. 进入‘C:\Program Files\Common Files\Mercury Interactive\License Manager’目录下,打开lservrc文件,Copy文件第一行或者第三行以#结尾的的字符串,此字符串就是注册码;

      3. 打开QTP应用程序,选择License Type: Seat License, 在注册码输入框paste注册码。

      当出现提示信息:License Type installed successfully

      恭喜你!注册成功

  • QTP脚本保存至QC

    2010-09-28 17:12:32

    QTP连接QC

     

      思考:如何将QTP里编写的脚本对应保存到QC中,将脚本与测试用例 有机结合起来,方便执行、维护。

     

         今天连接成功,将解决方案印贴。

     

       1.       QC中加载QTP插件;

    a.       进入QC首页,选择第三项:插件页

    b.    点击进入,点击【其他 Mercury Quality Center 加载项 ,针对你当前使用QTP的版本,下载其对应的插件;如果页面点击无效,点击此连接:
    http://update.external.hp.com/qualitycenter/qc90/mictools/qtp/index.html

    下载完毕,进行安装,在开始-程序菜单里出现:QuickTest Add-in for Quality Center

    2.  打开QTP,点击【TOOLS--[RUN]选项卡,选中Allow other mercury products to run tests and components复选框。

    3.    启动在QTP里登录QC

    输入QC对应的信息

    点击【login,ok!登录成功

    4.    打开qtp菜单【File--save as,点击【Quality Center

    5.  选择保存至QC测试用例所在的目录,

  • 视频学习系列2----QTP的测试规划

    2010-09-25 17:19:59

    QTP的测试规划

     

         今天学习了小布老师的QTP视频, http://www.boobooke.com/v/bbk3302

     总结:

    将测试作为一个系统工程来做,首先必须制定合乎本项目的测试计划,测试需求。

    1.       准备自动化测试环境

    l  手工测试步骤文档化;

    l  确保被测系统稳定、好用;

    l  准备数据,检查数据有效性。

    2.      规划测试计划

    l  确定项目资源,包括:人力资源,时间资源等;

    l  检查被测试系统就绪,人员、文档、技术资料等;

    l  确定测试优先级最高的业务需求功能;

    l  准备数据;

    2种方法:a. 使用生产系统数据,但需考虑数据的安全性

    b. 使用工具制造测试数据

    l  确定业务测试模块的正确结果,缺陷处理流程等;

    l  测试计划满足以上步骤。

    3.      测试需求

    l  将应用程序所要实现的目标文档化;

    l  将产生的不同意见、细节理顺;

    l  规定测试范围

    测试需求特点:

    唯一性、精确、有限制的、可测性、无二义性。

     

     

     

     

     

     

     

411/3123>
Open Toolbar