Q31:如何使用SilkTest更新excel电子表格中的数据?
首先QA工程师需要验证silktest将要使用的ODBC数据源没有被设置为只读,否则excel电子表格无法被更新。
Microsoft’s Excel OBDC驱动不支持INSERT关键字,所以QA工程师在SQL语句中将无法使用该关键字。替代地,4Test脚本开发者可以使用UPDATE关键字。
下面的4Test例子将会更Microsoft Excel中的数据。
[ ]
[ ] HANDLE hDBC = DB_Connect(“DSN=Documentation”)
[ ]
[ ] HANDLE hSQL
[ ]
[ ] hSQLq = DB_ExecuteSQL(hDB, “UPDATE ‘Sheet2$’ SET ‘Sheet2$’.Language=’4Test’ WHERE ‘Sheet2$’.Name=’Winrunner'”)
[ ]
[ ] DB_Disconnect(hDBC)
你也可以看一下本FAQ系列的Q18以便获得更多信息。
Q32:你能表述一下一个testcase的标准流程么?
·Testcase驱动处于初始阶段的应用程序进入QA工程师期望的状态。
·Testcase验证实际的状态和期望的状态一致。QA部门会使用术语baseline或者是basestate 来表示期望的状态。
·Testcase验证执行的实际结果和期望的结果一致。
·Testcase申明测试通过还是失败。
·Testcase为下一个testcase作准备而运行清理应用环境。
Q33:如何在一个testcase完成前停止运行它?
以我的经验来说25%的QA工程师应聘者不知道这个答案,尽管他们都有至少两年的silktest自动测试经验。
在一个在一个testcase完成前停止它:
·如果你的被测软件在你的主机上运行可以按SHIFT+SHIFT
·如果你的被测软件在目标机而非主机上运行,在silktest菜单里面选择,Run/Abort.
Q34:QA如何能从命令行执行silktest?
完全开发版的silktest使用partner.exe来从命令行执行silktest脚本,因此该命令行应该是如下格式的:
%SEGUE_HOME%/partner.exe -r winrunner.t
运行版silktest使用runtime.exe来从命令行执行silktest脚本,因此该命令行应该为如下形式:
%SEGUE_HOME%/runtime.exe -r winrunner.t
在Microsoft Windows 2003 server上无法为浏览器运行运行时版本的4Test脚本是因为计算机的’Internet Explorer Enhanced Security Configuration’选项被启用了,禁用该选项需要使用以下步骤:
点击开始,选择控制面板的添加/删除程序。
点击添加/删除windows组件。
修改Internet Explorer Enhanced Security Configuration的配置。
点击Next,然后尝试重新运行你的4Test脚本或者test plan。
Q35: 在使用silktest8.0的时候有遇到什么问题么?
我猜想这对于某个在简历里面提到silktest8.0的人来说是一个好问题,其中的一个回答可能是这样的:
当测试一个很大的web页面时,比如该页的对象超过1000个,我们发现该自动测试工具无法识别很多靠近页面底部的对象。开发人员由于客户的需要无法将该页面分成更小的页面。我们试着使用silktest7.6和winrunner8.0来做同样的工作却没有遇到这个问题。我们的QA经理联系了borland,他们现在正在努力解决该问题,同时我们也在试图找到绕过这个问题的方法,但是还没有满意的解决方法。
Q36:如何打开和关闭浏览器?
浏览器窗口有一个Invoke方法,下面的4Test代码调用当前定义的浏览器-Browser.Invoke()。Close方法将关闭当前的浏览器窗口-Browser.Close()。但是在很多情况下该方法将和CloseOthers合用。CloseOthers将关闭当前除了最上层的所有的浏览器实例。 另外一个方法对于测试FireFox是有用的,CloseOtherTabs会关闭当前浏览器实例中除了最左边tab以外的所有Tab。
Q37:如何解决”Mouse Coordinate (x,y) is off the screen”的错误
在测试web应用时,当GUI对象跑出屏幕范围以外,QA工程师发现了下面这个错误”Mouse Coordinate (x,y) is off the screen”.这个问题在silktest试图点击超出屏幕范围的对象时,出现的。
请将下面提供的4Test代码放置在出现该问题的代码之上:
Agent.SetOption (OPT_VERIFY_EXPOSED, FALSE)
请将下面提供的4Test代码放置在出现该问题的代码之下:
Agent.SetOption (OPT_VERIFY_EXPOSED, TRUE)
Q38:如何从只读的text field读取值?
想象一下,当text filed是只读状态或者是disabled状态。Silktest将会返回一个未预期的错误”*** Error: Window ‘[HtmlTextField]Estimated:’ is not enabled”。有可能读取这种text field的值么?
一般来说,QA工程师可以使用silktest的Agent.SetOption特性来获取值。用来获取winrunner页面Vmware text filed值的代码如下:
Agent.SetOption (OPT_VERIFY_ENABLED, FALSE)
Winrunner.VMware.GetText()
Agent.SetOption (OPT_VERIFY_ENABLED, TRUE)
Q39:如何使用verify语句?
如何使用verify语句来检查实际值和期望值不匹配,记录log但是不让silktest脚本停止执行呢?
下面的4Test可以被聪明的SQA工程师用来进行验证,就像我们看到的,在出现异常以后,会记录log,自动测试工具将打印下一行。
[-] testcase StringVerification() appstate none
[-] do
[ ] verify(“silktest”,”interview”)
[-] except
[ ] ExceptLog()
[ ] print (“the test case still works”)
下面是该测试脚本执行的结果。
Script question39.t – 1 error
Machine: (local)
Started: 02:22:22PM on 26-Sep-2006
Elapsed: 0:00:05
Passed: 0 tests (0%)
Failed: 1 test (100%)
Totals: 1 test, 1 error, 0 warnings
[-] Testcase StringVerification – 1 error
*** Error: Verify value failed – got “silktest”, expected “interview”
Occurred in Verify
Called from StringVerification at question39.t(3)
the test case still works
Q40:在用silktest8.0和firefox的时候遇到过什么问题么?
这个面试问题对于确认某个候选人是否真正使用过上面的测试工具是很有效的。不久以前,borland宣布了一个silktest8.0中的缺陷:firefox浏览器可能在执行脚本的过程中出现消息”error loading C:/Program Files/Segue/SilkTest/nshlprfox.dll”并且崩溃。这意味着如果你使用silktest8.0来测试web应用的话,你一定遇到过这个firefox的问题。