TestComplete plugin on VS Code
I like Testcomplete and all it's features, however, when needing to write code it is a bit of a pain (intellisense, styling, code completion, indenting, etc., all do not work well). Instead of coding in Testcomplete, can we add support in VS Code for development and execution? Still have it tied to the license and no need for namemapping, at least not right away, so we can take advantage of a smoother ide. I currently use python with TestComplete.609Views8likes0CommentsAllow OOP coding with full intellisense in Testcomplete
I understand that Testcomplete is a scripting language and some use the tool for automation script development with "record & playback", however, it would be much appreciated have the option of developing using a oop design patterns. Python and JavaScript are powerful languages. By relegating them to a script code style is stripping away their best features. Those that use JavaScript and Python for automation are using them with selenium which does not have a great way to automate desktop applications. By allowing users to choose to develop oop code with the namemapping features, Testcomplete can work as the preferred IDE for automation.1.1KViews7likes2CommentsImplementation of OnWebPageDownloaded event for Chrome & Edge browser
As partof the Event Handlers, we have lot of events in TestComplete which are easy to implement in Project and helps to reduce manual effort. There is one Event called 'OnWebPageDownloaded' which occurs post the web browser loads a page specified by URL. However, this event is supported to IE browser and MS Web Browser control only. This event is not supported to Chrome & Edge browser as both are mode from Chromium engine. Please implement this event for otherbrowsers like Chrome, Edge & Firefox browser as a future purpose.. That will helps to implement same event across all thebrowsers.952Views4likes3CommentsMake it possible for 'Execution Plan Editor' to work with 'tags'
Hi, The request is to have the 'Execution Plan Editor' to work with Automation tests that has 'tags' on them. Currently if the "Run @tag" option is selected, the tests will run in no apparent order, ie. the'Execution Plan Editor' feature does not work along with it. Hope that the feature request can have some priority, since it would definitely help a lot of Projects that utilize the Automation tests to run on CI/CD Pipeline. Thank you in advance.531Views3likes0CommentsRun A KeywordTest by name
Runner.CallMethod works pretty well with regards to running Keyword tests. You can do a syntax like: Runner.CallMethod('KeywordTests.TestName.Run', 'parametervalue'); However, this is a bit clunky to me. First of all, if you don't have the name up front but want to parameterize this call, you would need to do a concatenated string for the object name. Secondly, this just seems to be a bit out of the way. Code Completion already knows all the tests associated with the KeywordTests object so the information is already there. It would be nice to do something like KeywordTests.TestByName('MyTest').Run('parametervalue'); This just seems more intuitive and lends itself to a much cleaner implementation for creating a framework around the tests. Note that I'd prefer the keyword test to be returned by name so that we have access to things like Test.Variables and Test.Parameters (see my other ideas on KeywordTests).3.4KViews3likes3CommentsOpening new tab places it next right and closing tab activates next right and not next left
Hello, I've ticked the "Activate after test run" into the Engines > Log options. In my code editor I've opened two scripts A and B. I'm working on my A script. After executing my project, the new log tab opens next right to my A tab (which is ok) But when I close the log tab, it activates the next right tab (which is my B script) and not my previous active script (which should be my previous left A script). I've to perpetually click on the A tab to go back to my current work after each execution. The behavior is the same whith every opened/closed tab : opening = next right, closing = activates next right tab (and not previous left one) Thanks in advance !334Views2likes0CommentsLive logging during test execution
Hi, It would be very useful to get instant test logs during test execution. CurrentlyTestComplete does not provide a scripting interface to the test log of the current run. it is very limiting for us. We have desktop UI tests with several hours execution and waiting for the log result is veryimpractical. I think it would be nice to support for example Elasticsearch live logging like many other modern test frameworks, not only HTML reporting that is very outdated today.366Views2likes0CommentsLog Folder Items, Set the Icon while inside the stack (or auto detect on some hiearchy)
I thought this should just be a feature already and I posted asking for help to get it to work. https://community.smartbear.com/t5/TestComplete-General-Discussions/Log-Folder-Icon-Checkpoint-Over-Message-Javascript/m-p/200736#M37434 The log folders are real nice for cleaning up the logs but they only change Icon's if the Folder contains an Error or a Warning. I want LogFolders to show a green if it contains a checkpoint. A common sense order of importance Error > Warning > Checkpoint > Message. Instead it's showing Error > Warning > Message. I think it should even auto detect based on the Log item's priority that has been set. Or just a method to hit ie, Log.CurrentStack(iconWarning, priorityHigh); function TestScriptLog() { Log.AppendFolder("This folder Icon should be an Error"); Log.Message("Informational in Folder","",pmNormal); Log.Checkpoint("Checkpoint in Folder","",pmNormal); Log.Warning("Warning in Folder","",pmNormal); Log.Error("Error in Folder","",pmHighest); Log.PopLogFolder(); Log.AppendFolder("This folder Icon should be an Error"); Log.Message("Informational in Folder"); Log.Checkpoint("Checkpoint in Folder"); Log.Warning("Warning in Folder"); Log.Error("Error in Folder"); Log.PopLogFolder(); Log.AppendFolder("This folder Icon should be a Warning"); Log.Message("Informational in Folder","",pmNormal); Log.Checkpoint("Checkpoint in Folder","",pmNormal); Log.Warning("Warning in Folder","",pmHighest); Log.PopLogFolder(); Log.AppendFolder("This folder Icon should be a Warning"); Log.Message("Informational in Folder"); Log.Checkpoint("Checkpoint in Folder"); Log.Warning("Warning in Folder"); Log.PopLogFolder(); Log.AppendFolder("This folder Icon should be a Checkpoint"); Log.Message("Informational in Folder","",pmNormal); Log.Checkpoint("Checkpoint in Folder","",pmHighest); Log.PopLogFolder(); Log.AppendFolder("This folder Icon should be a Checkpoint"); Log.Message("Informational in Folder"); Log.Checkpoint("Checkpoint in Folder"); Log.PopLogFolder(); Log.AppendFolder("This folder Icon should be an Informational"); Log.Message("Informational in Folder","",pmHighest); Log.PopLogFolder(); Log.AppendFolder("This folder Icon should be an Informational"); Log.Message("Informational in Folder"); Log.PopLogFolder(); }Use Enum as a Parameter type in Keyword Tests
Edit: Added a specific Use Case for clarity Like most users I use parameters for my KWTs. Some parameters have a limited option pool e.g. paramater "WantACookie" can have3 and only3 values "Yes", "No" and "Not Sure" This parameter is used to set the text of a combobox. I could create it as a string that correlates with this and each other KWT or script that calls this KWT just needs to send the string. Say, however the the marketing department decided that "Not Sure" is no longer broadcasting the right message and want to change it to "I'm Thinking About It" All those other scripts and KWTs that used to set it to "Not Sure" will break. Is it possible to create the parameter as a list of key->value pairs. That way my other KWTs and scripts can say the vaule should be WantACookie.NotSure and all I have to do is go to my KWTs WantACookie paramter and change the value of the "NotSure" key to "I'm thinking About It" You would probably have to define this KVP list in the parameter type itself I guess and when setting properties in the visual editor, this "Enum" should be available the same way Variables and Parameters are from a dropdown. Aspecific Use Case: The Enum is a way to define a limited amount of set options that you know won't change Say I'm an e-commerce site. I wan't to make sure users don't have a bad experience by accidentally buying something when they intended to just add it to the wish list. Three tests: 1. Textbox1.Keys()->Textbox2.Keys(),texbox3.Keys,etc,-> buttonPlaceOrder.Click() -> Open Wishlist page -> Are ther items ? No -> Pass -> Open Basket -> Are there items? Yes ->Pass 2. Textbox1.Keys()->Textbox2.Keys(),texbox3.Keys,etc,-> buttonAddWishList.Click() -> Open Wishlist page -> Are ther items ? Yes -> Pass -> Open Basket -> Are there items? No ->Pass 3. Textbox1.Keys()->Textbox2.Keys(),texbox3.Keys,etc,-> buttonCance.Click()l -> Open Wishlist page -> Are ther items ? No -> Pass -> Open Basket -> Are there items? No ->Pass All three tests have the data populate in common. I don't really care what data is in there and I won't use it in a Data Loop so it can all be the same and be written into a single test so I don't have to duplicate all those .Keys() and .Clicks() into all my KWTs So, create one KWT PopulateOrder that does the keypresses. One step further I can see the only thing that distinguishes the process is what button gets clicked. If I specify this as a parameter like PopulateOrder(OrderAction) I can change my tests to this by simply dragging the new KWT into my visualiser : 1. PopulateOrder(Order) -> Open Wishlist page -> Are ther items ? No -> Pass -> Open Basket -> Are there items? Yes ->Pass 2. PopulateOrder(WishList) -> Open Wishlist page -> Are ther items ? Yes -> Pass -> Open Basket -> Are there items? No ->Pass 3. PopulateOrder(Cancel)->Open Wishlist page -> Are ther items ? No -> Pass -> Open Basket -> Are there items? No ->Pass The last steps in my Populate order is an if statement: If(OrderAction equals "Order"){buttonPlaceOrder.Click()} If(OrderAction equals "WishList"){buttonAddWishList.Click()} If(OrderAction equals "Cancel"){buttonCancel.Click()} If I drag the KWT into another KWT I can supply this parameter. Problem is, if a user doesn't know the exact string required and they type in, say "PlaceOrder", the KWT will fail because none of the if statements match. If on the other hand I can define the parameter as an enum that the user can choose from a dropdown I know the logic will always work e.g. if(OrderAction equuals OrderActionEnum.Order) {buttonPlaceOrder.Click()} It's something I would really have appreciated when I started using TC. It would have helped standardise my tests by always having the option based parameters defined, thereby avoiding loads of rework due to early inexperience. It still helps because I wouldn't have to open the PopulateOrder just to double check what string I need to send.4.4KViews2likes8Comments