Contributions
Using DLL as webservice
We currently use a webservice (SOAP) that runs using a .dll and Apache. When I try to retrieve information on services and enter the location (http://127.0.0.1/innova/innovaservice.dll) of the WSDL document, get the following error: No services are specified in the WSDL document or the document is invalid. i looked in the forums at old posts, but didn't see anything new. Any ideas how I could determine if the WSDL is valid?Solved1.6KViews0likes2CommentsSend test result to Test Rails via their API
We're using Test Complete version 14 for automated testing. We're looking at purchasing the test management tool Test Rails. Test Rails has an api in which we can post test results to a test case. They don't use REST or SOAP, they use HTTP requests. Is their a way to do this in Test Complete? BTW, I saw the previous post on this topic, but I didn't have much luck with it. I wasn't using a webservice, but I don't know if it's necessary. Thanks, Rob959Views0likes2CommentsHandling expected popups
Our application has quite a few pop ups (modal windows) at various points. The "unexpected window" event doesn't really apply because they are expected. What I'm findind is that my code is becoming litered with logic and wait situations that only work if they are in the specific part of the test (scripted) where that pop up will occur. Is there a better, more general way to handle pop ups? Is there a way to monitor for any popup, and if it's of type x or has property y. Hanldle it accordingly?2.3KViews0likes3CommentsHandling errors in DDT
I've created a DDT "framework" that I use to pass data into a test template. This is the function that controls the whole thing: // Start Here function Main() { aqPerformance.Start(); //Used as the master test id var csvPath = "C:\\TestData\\JobEntryData\\TestID.csv"; let JEDriver = DDT.CSVDriver(csvPath); var i = 1; ih.RunInnovationsProgram("JobEntry.exe"); ih.LoginToInnovations("JobEntry","Ocuco",""); while (!JEDriver.EOF()) { Log.Message("******************** Test run number " + i + " has Started... ********************************") iv.LoadUIVariables(i); SetUIVariables(); PopulateIDPage(); PopulateFramePage(); PopulateLensesPage(); PopulateRxPage(); PopulateExtrasPage(); //PopulateBlanksPage(); PopulateInvoicePage(); Log.Message("^^^^^^^^^^^^^^^^^^^^^^^^^^^ Test run number " + i + " has finished. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); //Indexes to next line of data sources i++; //Indexes to next line in id file JEDriver.Next(); } DDT.CloseDriver(JEDriver.Name); var testTime = aqConvert.FloatToStr(((aqPerformance.Value()/1000)/60)); Log.Message(aqString.Format("Minutes to complete tests: %.2f", testTime)); } In each of the "populatexxx" functions are connections to external data csv's as data sources. Since many tests can be run through this one script, with the data deciding how the UI acts, this is a single point of failure. If I were to make 20 tests, and one failed, I could do a cleanup and start on the next test. It doesn't seem like I can do that here, because if the test fails, the test loses it's state and reports the error. How can I handle errors using this technique? Is my test setup fundementally flawed? How does one create "individual" tests using DDT? ThanksSolved1.7KViews0likes3CommentsRe: Where to write the Utility scripts to accept the command line arguments
I would try putting it in the "OnStartTest" event first. Here's a screen shot of a function that runs when the application starts. It specifically says that it will run first when you run it from CLI so it should work.1.1KViews2likes0CommentsRe: Multiple DDT CSV's one test
Making this code change at the bottom, did in fact solve the issue. function SetGlobalVariablesFromCSV(csvPath,id,index) { //Make sure csv column format is set to text! let Driver = DDT.CSVDriver(csvPath); let curDriver = DDT.CurrentDriver.Name; let csvName = aqFileSystem.GetFileName(csvPath); var queryByID = 'SELECT * FROM ' + csvName + ' WHERE ' + id + '=' + "'" + index + "'" + ''; Driver.ADOCommandObject.CommandText = queryByID; let colCount = Driver.ColumnCount; while(!Driver. EOF()) { Log.Message("------- Setting global variables for " + csvName + "...-------------------------------------"); for(var i = 0; i < colCount ;i++) { var colName = Driver.ColumnName(i); var colVal = Driver.Value(i); Log.Message("Column " + i + " name is " + colName); CreateVariable(colName,"String"); ProjectSuite.Variables.$set("VariableByName",colName, colVal); } Log.Message("------------------ Global variables for " + csvName + " are set. -----------------------------") ; Driver.Next(); } DDT.CloseDriver(DDT.CurrentDriver.Name);<------------------Actually closing the driver. } The funny thing is, I had that in there, but I removed it because it was taking 90 seconds to load my variables. I later realized I had a loop in a loop situation. I fixed that, then didn't put that line back, hence not closing the driver. I would say that I owe you a beer, but actually I owe you a keg at this point. Thanks,1.5KViews2likes0CommentsRe: Multiple DDT CSV's one test
So I figured out how I'm going to have the data structured. I have individual csv's that supply data to each page of the app. They'll be queried sort of as you outlined, but I'll pass in a "TestID". This test ID will be what keeps all the csv's in sequence. So all csv's will have a 1 row, 2 row that correspond to each other. What I do is, I dynamically query and store them in project suite level variables. I then set them to global variables to be used for the test. This works great except I'm having one issue. I get the following error on the 11th test with a path error for "RxFields.csv" I've tried recreating the csv, moving the 10th and 11th rows, deleting the 10th and 11th rows, changing the test to run rows 1 through 5, 3 times and it still fails on the 11th test run. function SetGlobalVariablesFromCSV(csvPath,id,index) { //Make sure csv column format is set to text! let Driver = DDT.CSVDriver(csvPath); <-----This is where it fails every time. let curDriver = DDT.CurrentDriver.Name; let csvName = aqFileSystem.GetFileName(csvPath); var queryByID = 'SELECT * FROM ' + csvName + ' WHERE ' + id + '=' + "'" + index + "'" + ''; Driver.ADOCommandObject.CommandText = queryByID; let colCount = Driver.ColumnCount; while(!Driver. EOF()) { Log.Message("------- Setting global variables for " + csvName + "...-------------------------------------"); for(var i = 0; i < colCount ;i++) { var colName = Driver.ColumnName(i); var colVal = Driver.Value(i); Log.Message("Column " + i + " name is " + colName); CreateVariable(colName,"String"); ProjectSuite.Variables.$set("VariableByName",colName, colVal); } Log.Message("------------------ Global variables for " + csvName + " are set. -----------------------------") ; Driver.Next(); } //DDT.CloseDriver("CSV0"); } Any ideas what could be causing this?1.5KViews0likes2CommentsRe: Issues with text = <variablename> in test.
For some reason, I don't have SetText as an option. Only .Text. We're using Delphi, which some of the components are custom if that matters. Keys is working so I'll stick with that. I'd post my code, but there's a few different things going on elsewhere. I'm going to have to troubleshoot that later.1.4KViews0likes0CommentsIssues with text = <variablename> in test.
I'm having an issue where if I use Tesobj.Text = <some variable from csv> it doesn't puts an incorrect value in the box. By incorrect value, I mean a value that's in a completely different csv. The only way I can get my tests to work is if I use Keys. Anyone else run into this?Solved1.4KViews0likes2Comments