Contributions
- 1.7KViews0likes0Comments
Re: Bugzilla
H! I tested with Bugzilla 3.4.8 on Apache 2.2 and Perl 5.10.0. Problem #2 does not occur with that version, however Testcomplete still does not find any projects (Problem #3). Before setting up a test environment, I want to try to debug issue #3. I had a look at the traffic between Testcomplete and Bugzilla with a packet sniffer: * TC accesses /query.cgi?GoAheadAndLogIn=1&Bugzilla_restrictlogin=&Bugzilla_password=password&Bugzilla_login=email@address using POST. "Password" and "email@address" being the data that was entered into the connection manager in TC. The specified account is an administrator. * Bugzilla accepts the login, sends back a cookie and the "Find a Specific Bug" page (/query.cgi) * TC then requests /query.cgi?format=advanced&js=1&rememberjs=1 using the cookie from above. * Bugzilla replies with the "Advanced Search" page. I attached the HTML code of this reply. * Then TC trys to access /relogin.cgi, without supplying any action parameter, so Bugzilla redirects to /index.cgi with the HTTP code 302 * As a last step, TC calls /index.cgi and Bugzilla sends back the requested index page. TC then reports that it made a successful connection but could not find any top-level projects. Now my question is: What exactly is Testcomplete looking for on the Advanced Search page? I guess it's parsing the HTML code and by "top-level projects" the Bugzilla products are meant. However I added products, components and versions to the Bugzilla installation, yet Testcomplete seems unable to recognize them.1.7KViews0likes0CommentsRe: Bugzilla
Hi, #1 I enabled the speling module now, but I was also able to work around that problem by using symlinks on the server. #3 Testcomplete 8 behaves exactly the same as Testcomplete 7.5: It converts all URLs to uppercase, it displays an error message when the website is using utf8 and it doesn't find any Projects. Is there anything I have to set up on the server except installing a vanilla Bugzilla and creating a random product with a subcomponent? Thanks!1.7KViews0likes0CommentsBugzilla
Hello, I try to set up an issue tracking template as documented in the Testcomplete manual. However I'm facing several issues: 1. After putting the address "http://myserver/cgi-bin/bugzilla" into the URL field of the connection manager (and a correct username and password), an error message appeared: "Unable to log in to Bugzilla. Please make sure you use the correct server address, login and password and try again." With the help of the server logs I found out that Testcomplete did not try to access the URL above but instead "http://myserver/CGI-BIN/BUGZILLA" (note that it's all uppercase), which obviously did not exist. Is this a bug? I managed to work around it by creating the necessary symlinks on the Bugzilla server. 2. Now Testcomplete was able to find the Bugzilla installation, but claimed that "No mapping for the Unicode character exists in the target multi-byte code page". My Bugzilla installation is using an UTF-8 character set, all special characters are displayed correctly, and the webserver sends back the response header "Content-Type: text/html; charset=UTF-8" as it should. What is the problem here? I converted the Bugzilla installation to ISO-8859-1, since it's only a testdrive anyway, and the error message disappeared. But we won't be able to do that on the production server, which uses Unicode at the filesystem, database and webserver level. 3. Now the final problem which I could not solve: The connection manager of Testcomplete does not find any "top-level projects" on the specified server. The list of projects stays empty (see attached picture after clicking on Project in the Template Editor). How can this be solved? The manual states that "To post issues to Bugzilla, Bugzilla 3.0.3 or 3.4 is required on the server computer and no other special software is required on the computer where TestComplete is installed", so I set up a vanilla Bugzilla 3.4.0 on the server but still no luck. My Bugzilla contains two products, each product has one component and each component one version. What is preventing the Template Manager of Testcomplete from finding any projects? Thanks!15KViews0likes8Comments"already selected" Message
Hi! Usually after a test run I look through the test log and filter out the entries of type "Event" to get a quick overview of what happened. This works as long as I don't use the ClickTab() method, because then the test log is cluttered with hundreds of entries "The tab control page 'Foo' is already selected" which are of type "Message". I cannot filter out entries with type "Message" because I use them myself for status messages which I want to see. Is there are a possibility to suppress these "already selected" messages? Or if not can this be added as a feature request? Using Log.Disabled and Log.Enabled before and after ClickTab() also blocks possible error messages while clicking on a tab, so this is not a viable solution. Or is there any other way to filter out messages based on their content? Thanks!12KViews0likes2Comments- 1.5KViews0likes0Comments
Re: Exception handling
Hi David, > Could you please decrypt this comment so I can understand what kind of error you are getting? The decrypted version is: Any statement, that triggers a timeout error of the Jscript engine. I can post my code, but that would be of little help since you don't have the tested application and the error doesn't occur every time. I cannot reproduce it at will. I'll try to explain the problem again. 1. Sometimes during test playback, when the system is under a heavy load, the following error message appears in Testcomplete: "An exception occurred in the "Foo" unit at line 12: This operation returned because the timeout period expired." This error message is displayed in a popup window. After that, the test playback is stopped and I have to rerun the test from scratch. That was my first problem, but you said that this cannot be avoided and that Tescomplete always stops on these kind of errors. Ok. 2. Now, when I add a try-catch block around the calls to the Foo function, then the test playback is still stopped if the above mentioned timeout error occurs, however no pop up window appears anymore and the details of the error are not written to the log either. The description of the exception is NOT posted to the remarks pane. Testcomplete simply stops the test playback and that's it. Using "catch(exception) { Log.Error("Exception", exception.description); }" only results in the string "Exception" written to the log, and the remarks are empty. Also the call stack pane shows the line number of the catch statement and not the line number where the actual error occured. This is a problem, because I cannot find out afterwards what went wrong during test playback. All I see is that an exception occured, but I don't know which and where. I hope that this is understandable, if not feel free to ask.1.5KViews0likes0CommentsRe: Exception handling
Hi, that code works but the following does not: function Foo() { try { throw new Error(-1, "test exception"); // do something that triggers an error of the Jscript engine, eg a timeout } catch(exception) { Log.Error("Exception", exception.description); } Log.Message("OK"); } You wrote that it is impossible to tell Testcomplete to continue test execution after an error of the Jscript engine, so the statement "Log.Message("OK");" will never be executed. That makes unattended tests difficult, but "impossible" sounds as if there's currently no way to solve that problem. However there's another problem: The try-catch block now correctly catches the "test exception" but it also eats the Jscript error statement. That means when the error of the Jscript engine occurs, test execution just stops and nothing happens anymore. There is no error dialog, no error details and no line number where the error happened. All I get is the word "Exception" in the log, which is not really helpful. On the other hand, if I leave out the try catch block, I get all the details about the Jscript error in a popup dialog, but then the Testcomplete error aren't catched anymore either. Is there a way to configure the catch statement so that it either only catches exceptions raised by Testcomplete and not by the Jscript engine, or to make it display some details about the Jscript error? Thanks.1.5KViews0likes0Comments