SilkTest天龙八部系列7-dynamic object recognition 软件测试
在测试web应用时,我们常常需要面对web页面对象变化频繁,并且使用预定义方式识别对象慢的困难。为了解决这些问题,silktest引入了dynamic object recognition技术,它使用xpath来查找和识别界面上的对象。它可以使用Find和FindAll方法来识别这些对象,从而避免了在页面更改后不得不频繁改变frame.inc的问题。
下面我用一个简单的项目来演示一下如何使用dynamic object recognition技术来测试borland提供的web gmo应用。
1. 新建一个xbrowser的project名为gmo
2. 打开IE输入我们要测试的web页http://demo.borland.com/gmopost/
3. 在silktest中,点击工具栏上的enable extensions,在出现的enable extensions对话框中,选择iexplorer应用的Welcome to Green Mountain Outpost条目。 silktest会自动为其选中win32和xbrowser等extensions功能,你需要点击"enable extensions"按钮来激活它。然后点击close按钮关闭该对话框。
4. 点击basic workflow工具栏上的set recovery system按钮为系统设置一个appstate GMO。这是silktest会自动为你生成一个frame.inc文件,内容如下所示:
view plaincopy to clipboardprint?
01.[ ] const wMainWindow = InternetExplorer
02.[ ]
03.[-] window BrowserApplication InternetExplorer
04. [-] multitag TAG_IS_OPEN_AGENT
05. [ ] "InternetExplorer"
06. [ ]
07. [ ] // The working directory of the application when it is invoked
08. [ ] const sDir = "C:\Documents and Settings\ZengYuetian\桌面"
09. [ ]
10. [ ] // The command line used to invoke the application
11. [ ] const sCmdLine = """C:\Program Files\Internet Explorer\iexplore.exe"" "
12. [ ]
13. [ ] // The first window to appear when the application is invoked
14. [ ] // const wStartup = ?
15. [ ]
16. [ ] // The list of windows the recovery system is to leave open
17.
18. [ ] // const lwLeaveOpen = {?}
19.[ ]
[ ] const wMainWindow = InternetExplorer
[ ]
[-] window BrowserApplication InternetExplorer
[-] multitag TAG_IS_OPEN_AGENT
[ ] "InternetExplorer"
[ ]
[ ] // The working directory of the application when it is invoked