zoukankan      html  css  js  c++  java
  • SilkTest Q&A 11

    101. 如何从其他的机器访问脚本?

    答案:将包含脚本的文件夹共享出来…非常简单…你可以使用connect()在你本机运行脚本从而使得它们在其他的一些机器上执行…但是其他人无法访问这些脚本,除非你将它们共享出来或者试试别的什么方法。

     

     

    103. 有什么办法可以让默认的复原系统顺序关闭对话框么?

    谁能够告诉我有什么办法可以让默认的复原系统顺序关闭对话框么?这些对话框的双亲不是MainWin,而是ChildWin,我将会十分感激。默认的复原系统只能够检查那些双亲是由wMainWindow常量表示的MainWin的对话框。

    答案1:
    嗯,你不用改变默认的复原系统,但是你可以用一个基于none状态的appstate,而不是基于DefaultBaseState的appstate

    答案2:
    建立一个全局变量
    lwClose = {…}
    想要关闭的windows

    然后增加:
    TestcaseExist ()
    window wClose
    for each wClose in lwClose
    if wClose.Exists ()
    wClose.Close ()

    答案3:
    这里有你想要的,假设你有如下的树状结构:

    Win1 Win7
    Win2 Win3 Win8 Win9
    Win4 Win5 Win6

    注意win7和win1有不同的threads
    当你申明这些窗口时,你要把他们加入lwClose list中去。下面是加后的list结果(假设你想要让win1打开):
    lwClose = {...}
    Win9
    Win8
    Win7
    Win6
    Win3
    Win5
    Win4
    Win2
    这样你就建立了你的threads树,或者你可以建立一个Dismiss()函数如下:

    for i = 1 to ListCount (lwClose)
    do
    for each wClose in lwClose
    wClose.Close ()
    except
    do nothing (假如你必须按顺序关闭窗口)

     

     

    104. 我想从 result 窗口中去掉 testcase 中 script 的内容,该如何做?

     如果 case 通过了,在 result 窗口中, case 所在的 script 内容都会在 result 文件里面打印出来。我想把他们去掉,该如何做?

    答案 1 : 在 Option 菜单的 runtime 对话框里,有几个 check box 是可以设定 result 的。根据你对 result 的设定,会产生不同的 result 内容。根据你的需要来设定吧。

    更详细一点,在 Option->Runtime 对话框中,在 ”debugging” 部分中 uncheck ”print agent calls” 和 ’Print tags with agent calls”

     

     

    106. 这种情况怎么办?
    有一个应用,通过frame文件来识别对象。假如一个对象是custom object,你把custom object map成标准对象。而在map完成之后,该对象还是不能被SilkTest所识别,那该怎么办呢?
    答案:首先,你不得不尝试enable不同的extension,这样对象应该能被识别。如果这样还是不行的话,最后的选择就是使用坐标了,不过如果不能正确地使用坐标的话,这种方法不会很stable的。

     

    107. 如何为List of List of String进行排序?

    答案:

    [+] testcase test() appstate none
    [ ]
    [ ] LIST OF LIST OF STRING llsStr =
    {{"1234","A"},{"2242","B"},{"2234","C"}}
    [ ] Print(Sort(llsStr))
    [+] LIST OF LIST OF STRING Sort (LIST OF LIST OF STRING llsStr)
    [ ]
    [ ] LIST OF STRING lsStr
    [ ] INTEGER i, j , k
    [ ] k = ListCount(llsStr)
    [+] for (i=1;i <= k;i++)
    [+] for (j=i+1; j<=k; j++)
    [+] if val(llsStr[i][1]) > val (llsStr[j][1])
    [ ] lsStr = llsStr[j]
    [ ] llsStr[j] = llsStr[i]
    [ ] llsStr[i] = lsStr
    [ ]
    [ ]
    [ ] return llsStr

     

     

    108如何编写 master plan?

    答案 1: 是的,你可以用 master plan 这种途径来运行你所有的 sub plan 。只要新建一个 plan 文件,并在其中调用你的 sub plan 或者 testcase 即可。

    如果你想要在 master plan 中运行 sub plan ,你可以用如下的语法格式:

    Include: mysubplan.pln

     

    答案 2:
    1. 打开你的 master plan

    2. 你可以 mark 需要运行的 sub plan

    3. 从 master plan 中运行 mark 的 sub plan

    如何 mark sub plan

    1.       在 master plan 中选择 sub plan 的整行 ( 例如, include: subplan1.pln)

    2.       到 test plan 菜单,选择 ”mark”

    3.       重复该步骤, mark 所有的需要运行的 sub plan

    4.       到 Run 菜单,选择 ”run marked tests”

    这样你就可以仅仅运行那些 mark 过的 sub plan ,在最终的 result 文件中,你可以通过不同的颜色区别出哪些 plan 是运行过的,哪些是没有运行过的

     

    109. 如何在script文件中隐藏密码?
    在winrunner中,密码是通过加密的方式记录的,但是silktest中,是按照实际的内容进行记录的。
    所以在script中无法隐藏密码,如果你需要绕过这个问题,可以从文件中读取密码。

    如果这还不够好(因为在文件中密码还是以文本方式保存的),你可以使用一些加密功能的工具来加密密码。你可以调用外部的语言(Ruby,perl,python等)来加解密,然后把它通过一个变量传过来。
    问题是无论你用哪种方法来输入一个未加密的密码到登陆界面,该密码同样可以被写到另外一个文件中去(这样就可以被别人盗用)。

    所以,不要使用你自己的账号来做测试。应该使用专门的测试账号。

  • 相关阅读:
    JSTL标签库
    JavaScript中数组操作
    jquery . fancybox()
    jQuery ajax
    jquery学习笔记2
    codeforces_1066_B.Heaters
    codeforces_1065_D.three pieces_思维
    codeforces_B. Forgery
    codeforces_C. Sequence Transformation
    codeforces_D. Social Circles
  • 原文地址:https://www.cnblogs.com/riskyer/p/3315247.html
Copyright © 2011-2022 走看看