| || |
Silk 5.0 Problems
I'm using SilkTest 5.0 on WinNT 4.0 SP5 with MS Internet Explorer 5.0 to test a web application. We're just really getting the QA effort off the ground and I'm sort of spearheading the automation testing development. I just started playing around with Silk about a month ago. I've intended to start off by replicating our most common manual tests as 4Test scripts and then move on to a more structured, robust suite of tests, but I've run into so many problems using Silk that I haven't been able to fully replicate a single one of our manual tests. The software, in so many cases, just doesn't seem to work the way it's intended to. Every time I think I've got everything figured out and I'm ready to bang out the rest of the script, I run into some problem that as far as I can tell should work the way I'm doing it and I have to spend a couple days analysing the problem and finding a workaround. A short list of examples:
- Silk doesn't seem to recognize tables correctly when there are columns containing only objects (htmlcheckboxes and htmllinks specifically in my case). It sees the text columns of the table as their own table and the objects in the other columns are recognized as separate from the table.
- If an HtmlLink is immediately preceded by an HtmlCheckbox, Silk doesn't see it. Using the Record Window Identifiers tool and moving the mouse pointer over the link shows that the link is recognized as the HtmlCheckbox (both the link and the checkbox together are seen as one object, the checkbox. If you do anything to the object if only affects the checkbox).
- SetFocus() never works. On any objects, in any web page.
- Using Record Window Identifiers and in messages in the .res files after tests, objects usually aren't recognized as being contained in the declared page. That is, if I've defined a particular page as, say, "window BrowserChild AdminHome" in the frame file, when I start Record Window Identifiers and move it over the home, some object are recognized as "AdminHome.objectname" but most are recognized as "Browser.objectname".
- Sometimes the TypeKeys() method doesn't work. It doesn't happen consistently, but sometimes my scripts will be running and a field just doesn't get filled in. Then next time I run the script, it works. It's almost never the same field. When it's a login name or password, of course, it crashes the script...
- In one particular page, Silk can't see any of the HtmlPushButtons while the script is running. It sees them during Record Window Declarations, it sees them with Record Window Identifiers, but their .Exists() methods turn up false during the scripts and I can't do anything with any of them.
- In one particular page, one HtmlImage on the page can't be clicked (it works like a button, with Input Type = Image in the HTML). It registers as existing according to the Exists() method and I can call any other method except Click(). Click() tells me the object isn't exposed, even if I've used ScrollIntoView() and I can see it on the screen during the running of the script. All of the other HtmlImages that are clickable on the screen work and this same button works on similar pages, but it just doesn't work on this one particular page.
I've found workarounds for these problems and others I've encountered but I'm spending much more of my time figuring out workarounds than writing scripts. My question to the forum is twofold: Is this the usual experience with Silk, this many problems? Silk seems to have a better reputation than would warrant it. And, is there anywhere, on the Segue web site or otherwise, where known problems and their workaround are catalogued and available?
I should also note that I've called Segue support on this issues but so far it hasn't been much help. They take forever to get back to me and when they do they're just as stumped as I am.
Thanks for listening,
Global Telemedix, Inc.
Re: Silk 5.0 Problems
here are some notes,
-1st I donot believe that SilkTest supports SP5 with NT4 yet (or has not been tested).
-2nd Yes there always has been recognition problems when it came to tables, but that has dramatically improved in Silk5.0.
-About: HtmlLink is immediately preceded by an HtmlCheckbox. Log a bug with support (This one I have not seen before)
-SetFocus() not working? hmmm that's also new
-TypeKeys() missing, I agree... Sometimes that happens. try to slow down your rate of typing by just a little, instead of 0 delay, enter 0.01 delay. Also try to SetFocus(), but I guess that does not work for you? Howabout SetText() instead?
I understand your frustration... Since you are new to the tool. All I can tell you is that it gets better in time as you get better in solving problems and finding workarounds.
[This message has been edited by AJ (edited 07-24-1999).]
Re: Silk 5.0 Problems
I believe that your main problem is that you are using IE5.0 & NT (with SP5).
1. I have tried to develope some scripts by using IE5, and I have seen crashs and hangups. So, I suggests that you downgrade your browser to IE4. And this could be the main reason for all the problems that you are dealing with.
2. Segue still does not have support for NT with SP5.
3. SetText and TypeKeys;
To fix this problem, set the following Agent option prior to calling SetText or TypeKeys:
If the Print Agent Calls check box is selected in Runtime Options, SetText and TypeKey calls are logged as AgentSetText and AgentTypeKeys. That's because SetText and TypeKeys are implemented in 4Test and call AgentSetText and AgentTypeKeys as needed.
By default, SilkTest does not support TypeKeys of upper ASCII characters using the
numeric keypad. For example
TextEditor.TextField1.Typekeys("<alt-#1-#3-#3>") will not type the international
character. As a workaround, set the option
OPT_PLAY_MODE to "Win32":
Agent.SetOption (OPT_PLAY_MODE, "Win32")
Re: Silk 5.0 Problems
Thanks for your responses, guys. I wiped my system and reinstalled it with NT Wkstn 4.0, SP3, IE 4.01 SP1, and Silktest. Of the problems I've examined so far, one was indeed fixed.
Under SP5 (at least, I'm assuming that's the change that mattered, but since I restarted with a completely clean system and the old one was pretty dirty, it's not definite) Silk's recognition of an HtmlTable was variable. If I closed down and restarted Silk, the table would be recognized properly; after the first run of a recorder (Window Identifiers or Window Declarations) the table would be improperly recognized, as I described in my original post - the text-only columns are a separate table, all of the web elements get kicked out of the table. Because of the HtmlLink-immediately-preceded-by-an-HtmlCheckBox problem, I couldn't access the links of the table.
Now, under SP3 on my clean system, the table is recognized correctly. So, one problem solved. Fortunately this was a major one in reproducing my manual scripts, so I can yet again forge ahead...
I'll ask your opinion on another problem: I've retested the SetFocus problem on the new system and it's still present. So maybe I'm doing it wrong. Take a look at this short testcase I wrote to test the problem:
[-] testcase FocusTest()
[ ] TC30.Login()
[ ] AdminHome.SetActive()
[ ] AdminHome.ViewPatient.SetFocus()
[ ] AdminHome.ViewPatient.VerifyFocus()
The Login() function simply negotiates through the login page of the app.
ViewPatient is an HtmlImage. In my understanding, the above testcase should execute with no errors because I set the focus right before I test for it. It doesn't, however - it always fails because the HtmlImage doesn't have the focus.
Global Telemedix, Inc.