Limit Amount of Logs Kept by Time Frame
Instead of limiting the number of logs kept by Test Complete by a count, it would be nice if it they could be limited by a time period. For example, keep the last Month of test logs. This would be useful for users who run a high volume of tests in a short amount of time, but would still like to keep their output logs under control and accessible.437Views5likes0CommentsDouble-Monitor and Logging ...
Hello, I work with two monitors and after running Keywordtests the pictures in the log are showing the secound (for testing unused) monitor. It´s not necessary to make a picture of both screens and I think nobody uses two screens for testing. So pleasechange the process of screenshot making limited to one screen only or make it chooseable from which screen pictures are been taken. Attached Screenshot is showing my secound (blank) screen on the left side.5.1KViews3likes3CommentsLog 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.4KViews2likes8CommentsAbility to pin and unpin tabs in Project workspace
Hi, I regularly manage to have enough KWTs, scripts and project tabs open to make the tabs run into a second row. I find though that at any given time there's only 2 or3 I use intensively at a time. For example, I have a test keywordtest for experimenting with new scripts. Each time I open a script to debug or step through that tab gets pushed out until it ends up on the second row of tabs and I have to search for it again - repeatedly. What would be awesome is if we could say, decide three tabs are used very intensively at the moment and are important to have them within easy reach, please always keep them leftmost in the tabs. I know there is right click=>default docking in Workspace, which appens to move it to the top if it's already tabbed, butas soon as I decide some other tab is more important, default docking in Workspace kicks all the tabs all over the show again and I have to redo the docking. Just a plain "Pin" and it always stays there and "Unpin" and it can go where it wants again would suffice. Regards,965Views2likes0Commentschoose monitor for logging
Hey, it would be great if the log would not display the whole screen from 3 monitors which are in use. Better would be that TestComplete checks where the tested application runs and just make screenshots for the log from this monitor - or implement an option to choose which monitor should be logged. Attached is a screenshot from a log with 3 monitors.410Views1like0CommentsSpecify Filename of Screenshot with Post Screenshot Operation
The screenshots in the Log files on the file directory would be much more useful outside of Test Complete if you could specify the filename when the screenshot is taken. Ideally, you would be able to specify the filenames always, but at least it should be an option to specify the filename of a screenshot when one uses the Post Screenshot Operation.371Views1like0Comments