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.662Views10likes0CommentsGitHub Copilot integration with TestComplete
Hi team, in the current world, the programmers are using Stack overflow to find code snippets for simple problems, and git hub has a feature called Copilot, which we can use to suggest the code sample which works like a suggestion dropdown when we use some testcomplete methods, it would be great if we create any kind of plugin or some functionality which can do the above mechanism to make our work easier. Thanks and Regards, Sathish Kumar K1.3KViews9likes5CommentsAzure DevOps Advanced Integration Options
Azure DevOps seems to be a popular option these days. Please consider adding the following as a feature in the near future. 1. Post Bugs from Test complete to Azure DevOps 2. Post Work Item from TestComplete to Azure DevOps 3. Upload Test Plan from TestComplete to ADO.691Views9likes0CommentsGithub Copilot Integration
GitHub Copilot suggests code completions as developers type and turns natural language prompts into coding suggestions based on the project's context and style conventions. One new idea would be having a copilot plugin for testcomplete would increase productivity and coding efficiency URL for reference - https://github.com/features/copilot406Views4likes0CommentsPro-Tip: Populating an array in a JScript script extension and using the array in JavaScript
I'm writing this post not to report a problem or to ask a question but simply to pass along some information to save others the headache I gave myself today. I should have realized my mistake a lot sooner than I did but, in the meantime, I learned something valuable about debugging a script extension and one of the "gotchas" that you may run into. Scenario: I wanted to build a runtime object in a script extension that, upon retrieving some data from a datasource, would populate an array that is a property of the script extension. I then wanted to be able to access and iterate through that array in various projects. The script extension is built using JScript and the projects are written in JavaScript (perhaps some of you already see where this is going). Extension: Here is a simple mock up of what is in the extension. It's a bit more involved than this but, for illustration purposes, I've simplified this down to the essentials var myArray = []; function getMyArray() { //This is the "get" routine for getting the property for my runtime object return myArray; } function populateArray() { //This is where the DDT object is created, run through, etc, to get my data. For the purpose of the illustration, I'm simply hardcoding a for loop to populate the array with some objects for(var i=0;i < 10;i++) { myArray[i] = {property1: 'Value1', property2: 'Value2'}; } } Now, when I have this code loaded up into TestComplete in a JScript project and throw some watches on the variables, I see my array populate and I end up with a 10 element array, each element being an object with the two indicated properties and values. Using the Extension: So, I encapsulate that in my script extension, drop it into the appropriate folder, install it in TestComplete and attempt to run the following code in a JavaScript project function iterateArray() { for(var i = 0; i < extension.myArray.length; i++) { Log.Message('Object ' + i + ' property 1 value: ' + extension.myArray[i].property1); } } Here's where I get the problem... I get an error that property1 is not a valid property of "undefined". Doing a watch, I see that my array is populated and it has the correct length, but instead of each element being an object, each element is marked as "undefined". What gives?!?! Well... here's why... JavaScript, as it is implemented in TestComplete, has some issues with working with the values of indexed properties of objects. While, generally speaking, if I created an array in JavaScript and worked with that JavaScript native array in my JavaScript project, I wouldn't have this issue. However, it appears that, because the JScript array is encapsulated in another object and is, therefore, an object with an indexed property, I need to use a different methodology for retrieving the values. Solution: Once I realized this, I modified my code in my JavaScript project as such: function iterateArray() { var currentObject for(var i = 0; i < extension.myArray.length; i++) { currentObject = extension.myArray.$get(aqConvert.IntToStr(i)); Log.Message('Object ' + i + ' property 1 value: ' + currentObject.property1); } And voila! it works. Now, if I was using the extension in a JScript project, this wouldn't be a problem. But, as it is, because of JavaScripts peculiarities, this was the solution I ended up with. Of course, there's probably all sorts of other ways of doing this... but this is how I got rid of my headache today.1.4KViews4likes0CommentsTestComplete Framework
For those of you who attended the SmartBear Academy 301 on October 18th, I've made a couple of relatively minor changes to the framework I presented and the script extensions I created for them. If you are interested, you can download the framework code, the extensions, and the samples at https://bitbucket.org/tristaanogre/tabledrivenframework/downloads. Please feel free to message me any questions or such on this. Again, this is a Creative Commons licensed thingie so feel free to use it under the license terms.1.9KViews4likes0CommentsModify scripts with external editors
I am writing and changing my scripts in my favorite (external) editor. But when I want to use the script in the TestComplete UI, I always get the same pop up as attached. And always I have to confirm. I understand that TestComplete does this, but can we have the option circled as attached?626Views3likes0CommentsPlease do not remove JScript support in near or far future
I keep seeing functionality deprecated and hidden. My company pays\renews because of what TestComplete provides per our automation needs. Please do some serious polling among your clients and not the norm on the internet before affecting TestComplete functionality.559Views3likes0CommentsLog 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(); }1.1KViews3likes1Comment