TestComplete IDE not recognizing common JavaScript
I have a request/question for SmartBear/Community. Take a look at the attached image and tell me if anyone knows a workaround for this issue. I'm using a very commonly used JavaScript design pattern. TestComplete IDE does not seem to be able to recognize it. It only seems to be able to read till <ScriptName>.<Obj>. It cannot seem to read anything inside the Obj, this is very annoying considering the fact that managing everything using plain functions and not encapsulating them inside an object can become greusome if at all anyone plans on making the code resuable (read function name clashes).
I was wondering if anyone has come across this issue or knows a better design pattern other than creating new functions and global variables without objects.
Hi Jerin, unfortunately you are correct, the Test Complete editor can only read till <ScriptName>.<Obj> and there is no way to configure it so it can.
In terms of patterns, I intially made the mistake of assuming the Test Complete JScript runtime was the same as a Web Browser, therefore I implemented a "Class" structure as I would have for a Browser application, e.g. namespaces and encapsulated Constructors and Modules.
As it turns out, the Test Complete run time is not like a Browser run time at all, from what I can work out, when a Script Unit is run, Test Complete seems to do the following:
1. Parses each Script Unit
2. Creates a singleton for each Script Unit
3. Each singleton then runs within its own sandbox, effectively making each Sript Unit a "blackbox" that can only interact via messaging, i.e. there is no overarching global object as you would find in a Browser
Point 3 can prove troublesome in that:
a. Any prototype augmentation (e.g. adding an indexOf method to Array (yes, the Test Complete JScript engine is that prehistoric)) only applies in the Script Unit it is defined in. In order to use an augmented object, a factory function must be provided by the defining Script Unit which other Script Units can call to get an instance of the augmented object.
b. Exception handling between Script Units sometimes works, depending on whether an Exception is raised in a Script Unit function or within a User object *sigh*.
I have attached a couple of Script Units that demonstrate this.
I recently gutted the entire Namespace structure and removed every Module bar one from our tests as it become a pain in the butt for others to develop with.
I still extensively use a similar user object pattern as yours, I just have to bite the bullet and rely on documentation and test developer ability instead of intellisense.
I now have the following basic patterns:
1. Any code I would normally encapsulate in a Closure based Module that would be considered a Static class in C# is now simply global within a Script Unit. The "blackbox" nature of the Test Complete run time provides enough differentiation between same named members in different Script Units, and as it is in house test code, the lack of privacy really isn't an issue. For the odd occasion where privacy is desired, I just define a simple Closure based Module with the private members and simple accessors that the public Script Unit functions can call.
2. Closure based Modules for a Singleton that represents an entity.
3. Instantiable Constructor based User Objects that represent test entities.
Hi Jerin, unfortunately you are correct, the Test Complete editor can only read till <ScriptName>.<Obj> and there is no way to configure it so it can.
In terms of patterns, I intially made the mistake of assuming the Test Complete JScript runtime was the same as a Web Browser, therefore I implemented a "Class" structure as I would have for a Browser application, e.g. namespaces and encapsulated Constructors and Modules.
As it turns out, the Test Complete run time is not like a Browser run time at all, from what I can work out, when a Script Unit is run, Test Complete seems to do the following:
1. Parses each Script Unit
2. Creates a singleton for each Script Unit
3. Each singleton then runs within its own sandbox, effectively making each Sript Unit a "blackbox" that can only interact via messaging, i.e. there is no overarching global object as you would find in a Browser
Point 3 can prove troublesome in that:
a. Any prototype augmentation (e.g. adding an indexOf method to Array (yes, the Test Complete JScript engine is that prehistoric)) only applies in the Script Unit it is defined in. In order to use an augmented object, a factory function must be provided by the defining Script Unit which other Script Units can call to get an instance of the augmented object.
b. Exception handling between Script Units sometimes works, depending on whether an Exception is raised in a Script Unit function or within a User object *sigh*.
I have attached a couple of Script Units that demonstrate this.
I recently gutted the entire Namespace structure and removed every Module bar one from our tests as it become a pain in the butt for others to develop with.
I still extensively use a similar user object pattern as yours, I just have to bite the bullet and rely on documentation and test developer ability instead of intellisense.
I now have the following basic patterns:
1. Any code I would normally encapsulate in a Closure based Module that would be considered a Static class in C# is now simply global within a Script Unit. The "blackbox" nature of the Test Complete run time provides enough differentiation between same named members in different Script Units, and as it is in house test code, the lack of privacy really isn't an issue. For the odd occasion where privacy is desired, I just define a simple Closure based Module with the private members and simple accessors that the public Script Unit functions can call.
2. Closure based Modules for a Singleton that represents an entity.
3. Instantiable Constructor based User Objects that represent test entities.
Thank you for the detailed explanation and sharing details of the methodology you use. This answered so many of my other unasked questions as well, I really appreciate your input on this. SmartBear needs to increase the intellisense capabiliteis in their IDE if they plan on giving us such an older version of JavaScript.
For what its worth, I'm in the process of writing a framework for our automation testing from ground up and had to abandon 90% use of NameSpacing module. We have C# desktop applications, and the methodology I ended up using was saving property-value pair of process, grid, element, Hwnd etc. and using them with the Find() function to search for objects. I use these returned objects to search for child objects to apply final actions. This has worked for me so far and has helped me remove a huge amount of hard coding.
SampleFunction: function SampleFunction( SampleParameter ) {
// some code
}
}
// End
Now if you look at my screenshot with this code in perspective, TestComplete IDE in line 24 and 25 should be able to list function and variables from TestConfig Unit.
So when I type the following (stop at the dot)
TestConfig.Obj.
TestComplete should show me a list of function and variable names from the TestConfig Unit. But it does not. This would be useful when my codebase has hundreds of functions. As of now, I will have to remember each functino or look them up when I need to call them. And once you add more than one developer, this would become even more difficult to manage.
If you take this code in any other IDE (IntelliJ, Netbeans or Eclipse) and try to write JavaScript/JScript code, this would work and the IDE would be able to list the underlying functions and variables from the TestConfig script. As Phil mentioned earlier, this is due to the fact that JScript Engine TestComplete IDE uses is quiet old and Tanya suggested they have added this concern to their list of upcoming enhancements. I hope this helps.
"}},"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/EscalatedMessageBanner\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/EscalatedMessageBanner-1720711077000"}],"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"components/users/UserLink\"]})":[{"__ref":"CachedAsset:text:en_US-components/users/UserLink-1720711077000"}],"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/users/UserRank\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/users/UserRank-1720711077000"}],"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageTime\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageTime-1720711077000"}],"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageSubject\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageSubject-1720711077000"}],"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageBody\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageBody-1720711077000"}],"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageCustomFields\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageCustomFields-1720711077000"}],"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageReplyButton\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageReplyButton-1720711077000"}],"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageSolutionList\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageSolutionList-1720711077000"}],"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/AcceptedSolutionButton\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/AcceptedSolutionButton-1720711077000"}],"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageView/MessageViewInline\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageView/MessageViewInline-1720711077000"}],"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/common/Pager/PagerLoadMore\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/common/Pager/PagerLoadMore-1720711077000"}],"message({\"id\":\"message:84909\"})":{"__ref":"AcceptedSolutionMessage:message:84909"},"message({\"id\":\"message:84916\"})":{"__ref":"ForumReplyMessage:message:84916"},"message({\"id\":\"message:84923\"})":{"__ref":"ForumReplyMessage:message:84923"},"message({\"id\":\"message:84920\"})":{"__ref":"ForumReplyMessage:message:84920"},"message({\"id\":\"message:84927\"})":{"__ref":"ForumReplyMessage:message:84927"},"message({\"id\":\"message:84931\"})":{"__ref":"ForumReplyMessage:message:84931"},"message({\"id\":\"message:84935\"})":{"__ref":"ForumReplyMessage:message:84935"},"message({\"id\":\"message:84939\"})":{"__ref":"ForumReplyMessage:message:84939"},"messages({\"constraints\":{\"solution\":{\"eq\":true},\"topicId\":{\"eq\":\"message:84905\"}},\"first\":10,\"sorts\":{\"postTime\":{\"direction\":\"ASC\"}}})":{"__typename":"MessageConnection","edges":[{"__typename":"MessageEdge","cursor":"MjQuMTF8Mi4xfGl8MTB8Mzk6MXxpbnQsODQ5MDksODQ5MDk","node":{"__ref":"AcceptedSolutionMessage:message:84909"}}],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null},"totalCount":1},"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/users/UserAvatar\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/users/UserAvatar-1720711077000"}],"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/ranks/UserRankLabel\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/ranks/UserRankLabel-1720711077000"}],"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"components/attachments/AttachmentView/AttachmentViewChip\"]})":[{"__ref":"CachedAsset:text:en_US-components/attachments/AttachmentView/AttachmentViewChip-1720711077000"}],"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/nodes/NodeIcon\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/nodes/NodeIcon-1720711077000"}],"cachedText({\"lastModified\":\"1720711077000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageSolvedBadge\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageSolvedBadge-1720711077000"}]},"CachedAsset:pages-1737142880630":{"__typename":"CachedAsset","id":"pages-1737142880630","value":[{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"BlogViewAllPostsPage","type":"BLOG","urlPath":"/category/:categoryId/blog/:boardId/all-posts/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"CasePortalPage","type":"CASE_PORTAL","urlPath":"/caseportal","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"CreateGroupHubPage","type":"GROUP_HUB","urlPath":"/groups/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"CaseViewPage","type":"CASE_DETAILS","urlPath":"/case/:caseId/:caseNumber","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"InboxPage","type":"COMMUNITY","urlPath":"/inbox","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"HelpFAQPage","type":"COMMUNITY","urlPath":"/help","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"IdeaMessagePage","type":"IDEA_POST","urlPath":"/idea/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"IdeaViewAllIdeasPage","type":"IDEA","urlPath":"/category/:categoryId/ideas/:boardId/all-ideas/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"LoginPage","type":"USER","urlPath":"/signin","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"BlogPostPage","type":"BLOG","urlPath":"/category/:categoryId/blogs/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"ThemeEditorPage","type":"COMMUNITY","urlPath":"/designer/themes","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"TkbViewAllArticlesPage","type":"TKB","urlPath":"/category/:categoryId/kb/:boardId/all-articles/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"OccasionEditPage","type":"EVENT","urlPath":"/event/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"OAuthAuthorizationAllowPage","type":"USER","urlPath":"/auth/authorize/allow","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"PageEditorPage","type":"COMMUNITY","urlPath":"/designer/pages","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"PostPage","type":"COMMUNITY","urlPath":"/category/:categoryId/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"ForumBoardPage","type":"FORUM","urlPath":"/category/:categoryId/discussions/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"TkbBoardPage","type":"TKB","urlPath":"/category/:categoryId/kb/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"EventPostPage","type":"EVENT","urlPath":"/category/:categoryId/events/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"UserBadgesPage","type":"COMMUNITY","urlPath":"/users/:login/:userId/badges","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"GroupHubMembershipAction","type":"GROUP_HUB","urlPath":"/membership/join/:nodeId/:membershipType","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"IdeaReplyPage","type":"IDEA_REPLY","urlPath":"/idea/:boardId/:messageSubject/:messageId/comments/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"UserSettingsPage","type":"USER","urlPath":"/mysettings/:userSettingsTab","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"GroupHubsPage","type":"GROUP_HUB","urlPath":"/groups","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"ForumPostPage","type":"FORUM","urlPath":"/category/:categoryId/discussions/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"OccasionRsvpActionPage","type":"OCCASION","urlPath":"/event/:boardId/:messageSubject/:messageId/rsvp/:responseType","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"VerifyUserEmailPage","type":"USER","urlPath":"/verifyemail/:userId/:verifyEmailToken","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"AllOccasionsPage","type":"OCCASION","urlPath":"/category/:categoryId/events/:boardId/all-events/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"EventBoardPage","type":"EVENT","urlPath":"/category/:categoryId/events/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"TkbReplyPage","type":"TKB_REPLY","urlPath":"/kb/:boardId/:messageSubject/:messageId/comments/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"IdeaBoardPage","type":"IDEA","urlPath":"/category/:categoryId/ideas/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"CommunityGuideLinesPage","type":"COMMUNITY","urlPath":"/communityguidelines","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"CaseCreatePage","type":"SALESFORCE_CASE_CREATION","urlPath":"/caseportal/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"TkbEditPage","type":"TKB","urlPath":"/kb/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"ForgotPasswordPage","type":"USER","urlPath":"/forgotpassword","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"IdeaEditPage","type":"IDEA","urlPath":"/idea/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"TagPage","type":"COMMUNITY","urlPath":"/tag/:tagName","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"ChampionRules.Page","type":"COMMUNITY","urlPath":"/c/champion-rules/page","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"BlogBoardPage","type":"BLOG","urlPath":"/category/:categoryId/blog/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"OccasionMessagePage","type":"OCCASION_TOPIC","urlPath":"/event/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"ManageContentPage","type":"COMMUNITY","urlPath":"/managecontent","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"ClosedMembershipNodeNonMembersPage","type":"GROUP_HUB","urlPath":"/closedgroup/:groupHubId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"CommunityPage","type":"COMMUNITY","urlPath":"/","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"ForumMessagePage","type":"FORUM_TOPIC","urlPath":"/discussions/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"IdeaPostPage","type":"IDEA","urlPath":"/category/:categoryId/ideas/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"BlogMessagePage","type":"BLOG_ARTICLE","urlPath":"/blog/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"RegistrationPage","type":"USER","urlPath":"/register","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"EditGroupHubPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"ForumEditPage","type":"FORUM","urlPath":"/discussions/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"ResetPasswordPage","type":"USER","urlPath":"/resetpassword/:userId/:resetPasswordToken","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"TkbMessagePage","type":"TKB_ARTICLE","urlPath":"/kb/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"BlogEditPage","type":"BLOG","urlPath":"/blog/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"ManageUsersPage","type":"USER","urlPath":"/users/manage/:tab?/:manageUsersTab?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"ForumReplyPage","type":"FORUM_REPLY","urlPath":"/discussions/:boardId/:messageSubject/:messageId/replies/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"PrivacyPolicyPage","type":"COMMUNITY","urlPath":"/privacypolicy","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"NotificationPage","type":"COMMUNITY","urlPath":"/notifications","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"UserPage","type":"USER","urlPath":"/users/:login/:userId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"OccasionReplyPage","type":"OCCASION_REPLY","urlPath":"/event/:boardId/:messageSubject/:messageId/comments/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"ManageMembersPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId/manage/:tab?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"SearchResultsPage","type":"COMMUNITY","urlPath":"/search","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"BlogReplyPage","type":"BLOG_REPLY","urlPath":"/blog/:boardId/:messageSubject/:messageId/replies/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"GroupHubPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"TermsOfServicePage","type":"COMMUNITY","urlPath":"/termsofservice","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"CategoryPage","type":"CATEGORY","urlPath":"/category/:categoryId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"ForumViewAllTopicsPage","type":"FORUM","urlPath":"/category/:categoryId/discussions/:boardId/all-topics/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"TkbPostPage","type":"TKB","urlPath":"/category/:categoryId/kbs/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1737142880630,"localOverride":null,"page":{"id":"GroupHubPostPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"}],"localOverride":false},"CachedAsset:text:en_US-components/context/AppContext/AppContextProvider-0":{"__typename":"CachedAsset","id":"text:en_US-components/context/AppContext/AppContextProvider-0","value":{"noCommunity":"Cannot find community","noUser":"Cannot find current user","noNode":"Cannot find node with id {nodeId}","noMessage":"Cannot find message with id {messageId}"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/Loading/LoadingDot-0":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/Loading/LoadingDot-0","value":{"title":"Loading..."},"localOverride":false},"User:user:-1":{"__typename":"User","id":"user:-1","uid":-1,"login":"Anonymous","email":"","avatar":null,"rank":null,"kudosWeight":1,"registrationData":{"__typename":"RegistrationData","status":"ANONYMOUS","registrationTime":null,"confirmEmailStatus":false,"registrationAccessLevel":"VIEW","ssoRegistrationFields":[]},"ssoId":null,"profileSettings":{"__typename":"ProfileSettings","dateDisplayStyle":{"__typename":"InheritableStringSettingWithPossibleValues","key":"layout.friendly_dates_enabled","value":"true","localValue":"true","possibleValues":["true","false"]},"dateDisplayFormat":{"__typename":"InheritableStringSetting","key":"layout.format_pattern_date","value":"MM-dd-yyyy","localValue":"MM-dd-yyyy"},"language":{"__typename":"InheritableStringSettingWithPossibleValues","key":"profile.language","value":"en-US","localValue":"en","possibleValues":["en-US"]}},"deleted":false},"Theme:customTheme1":{"__typename":"Theme","id":"customTheme1"},"AssociatedImage:{\"url\":\"https://community.smartbear.com/t5/s/nwkab66374/images/bi0yNDYtaWI3ekVt?image-coordinates=0%2C0%2C201%2C201\"}":{"__typename":"AssociatedImage","url":"https://community.smartbear.com/t5/s/nwkab66374/images/bi0yNDYtaWI3ekVt?image-coordinates=0%2C0%2C201%2C201","mimeType":"image/png"},"Category:category:TestComplete_forum":{"__typename":"Category","id":"category:TestComplete_forum","entityType":"CATEGORY","displayId":"TestComplete_forum","nodeType":"category","depth":1,"title":"TestComplete","shortTitle":"TestComplete Community","parent":{"__ref":"Category:category:top"}},"Category:category:top":{"__typename":"Category","id":"category:top","displayId":"top","nodeType":"category","depth":0,"title":"Top","entityType":"CATEGORY","shortTitle":"Top"},"Forum:board:testcomplete-questions":{"__typename":"Forum","id":"board:testcomplete-questions","entityType":"FORUM","displayId":"testcomplete-questions","nodeType":"board","depth":2,"conversationStyle":"FORUM","title":"TestComplete Questions","description":"","avatar":{"__ref":"AssociatedImage:{\"url\":\"https://community.smartbear.com/t5/s/nwkab66374/images/bi0yNDYtaWI3ekVt?image-coordinates=0%2C0%2C201%2C201\"}"},"profileSettings":{"__typename":"ProfileSettings","language":null},"parent":{"__ref":"Category:category:TestComplete_forum"},"ancestors":{"__typename":"CoreNodeConnection","edges":[{"__typename":"CoreNodeEdge","node":{"__ref":"Community:community:nwkab66374"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:TestComplete_forum"}}]},"userContext":{"__typename":"NodeUserContext","canAddAttachments":true,"canUpdateNode":false,"canPostMessages":false,"isSubscribed":false},"boardPolicies":{"__typename":"BoardPolicies","canPublishArticleOnCreate":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.forums.policy_can_publish_on_create_workflow_action.accessDenied","key":"error.lithium.policies.forums.policy_can_publish_on_create_workflow_action.accessDenied","args":[]}}},"shortTitle":"TestComplete Questions","repliesProperties":{"__typename":"RepliesProperties","sortOrder":"LIKES","repliesFormat":"threaded"},"eventPath":"category:TestComplete_forum/community:nwkab66374board:testcomplete-questions/","tagProperties":{"__typename":"TagNodeProperties","tagsEnabled":{"__typename":"PolicyResult","failureReason":null}},"requireTags":false,"tagType":"PRESET_ONLY","description@stripHtml":""},"Rank:rank:15":{"__typename":"Rank","id":"rank:15","position":21,"name":"New Contributor","color":"333333","icon":null,"rankStyle":"TEXT"},"User:user:52487":{"__typename":"User","id":"user:52487","uid":52487,"login":"jmathew_1","deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://community.smartbear.com/t5/s/nwkab66374/m_assets/avatars/default/avatar-2.svg"},"rank":{"__ref":"Rank:rank:15"},"email":"","messagesCount":4,"biography":null,"topicsCount":1,"kudosReceivedCount":0,"kudosGivenCount":4,"kudosWeight":1,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2013-12-23T04:00:42.000-08:00","confirmEmailStatus":null,"registrationAccessLevel":null,"ssoRegistrationFields":[]},"followersCount":null,"solutionsCount":0,"ssoId":null,"entityType":"USER","eventPath":"community:nwkab66374/user:52487"},"ForumTopicMessage:message:84905":{"__typename":"ForumTopicMessage","uid":84905,"subject":"TestComplete IDE not recognizing common JavaScript","id":"message:84905","revisionNum":1,"repliesCount":8,"author":{"__ref":"User:user:52487"},"depth":0,"hasGivenKudo":false,"board":{"__ref":"Forum:board:testcomplete-questions"},"conversation":{"__ref":"Conversation:conversation:84905"},"readOnly":false,"editFrozen":false,"moderationData":{"__ref":"ModerationData:moderation_data:84905"},"body":"I have a request/question for SmartBear/Community. Take a look at the attached image and tell me if anyone knows a workaround for this issue. I'm using a very commonly used JavaScript design pattern. TestComplete IDE does not seem to be able to recognize it. It only seems to be able to read till <ScriptName>.<Obj>. It cannot seem to read anything inside the Obj, this is very annoying considering the fact that managing everything using plain functions and not encapsulating them inside an object can become greusome if at all anyone plans on making the code resuable (read function name clashes).
I was wondering if anyone has come across this issue or knows a better design pattern other than creating new functions and global variables without objects.","body@stringLength":"792","rawBody":"I have a request/question for SmartBear/Community. Take a look at the attached image and tell me if anyone knows a workaround for this issue. I'm using a very commonly used JavaScript design pattern. TestComplete IDE does not seem to be able to recognize it. It only seems to be able to read till <ScriptName>.<Obj>. It cannot seem to read anything inside the Obj, this is very annoying considering the fact that managing everything using plain functions and not encapsulating them inside an object can become greusome if at all anyone plans on making the code resuable (read function name clashes).
I was wondering if anyone has come across this issue or knows a better design pattern other than creating new functions and global variables without objects.","kudosSumWeight":0,"postTime":"2014-01-10T07:40:39.000-08:00","images":{"__typename":"AssociatedImageConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"attachments":{"__typename":"AttachmentConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"AttachmentEdge","cursor":"MjQuMTF8Mi4xfG98NXxfTlZffDE","node":{"__ref":"Attachment:{\"id\":\"attachment:message84905AttachmentNumber1\",\"url\":\"https://community.smartbear.com/t5/s/nwkab66374/attachments/nwkab66374/testcomplete-questions/40549/1/TestCompleteDesignPattern.png\"}"}}]},"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"timeToRead":1,"currentRevision":{"__ref":"Revision:revision:84905_1"},"latestVersion":null,"metrics":{"__typename":"MessageMetrics","views":6800},"visibilityScope":"PUBLIC","canonicalUrl":null,"seoTitle":null,"seoDescription":null,"isEscalated":null,"placeholder":false,"originalMessageForPlaceholder":null,"messagePolicies":{"__typename":"MessagePolicies","canModerateSpamMessage":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.feature.moderation_spam.action.moderate_entity.allowed.accessDenied","key":"error.lithium.policies.feature.moderation_spam.action.moderate_entity.allowed.accessDenied","args":[]}}},"archivalData":null,"searchSnippet":"I have a request/question for SmartBear/Community. Take a look at the attached image and tell me if anyone knows a workaround for this issue. I'm using a very commonly used JavaScript design pattern....","replies":{"__typename":"MessageConnection","edges":[{"__typename":"MessageEdge","cursor":"MjQuMTF8Mi4xfG98MTB8MTQ6MCwzOToxfDE","node":{"__ref":"AcceptedSolutionMessage:message:84909"}},{"__typename":"MessageEdge","cursor":"MjQuMTF8Mi4xfG98MTB8MTQ6MCwzOToxfDI","node":{"__ref":"ForumReplyMessage:message:84916"}},{"__typename":"MessageEdge","cursor":"MjQuMTF8Mi4xfG98MTB8MTQ6MCwzOToxfDM","node":{"__ref":"ForumReplyMessage:message:84923"}},{"__typename":"MessageEdge","cursor":"MjQuMTF8Mi4xfG98MTB8MTQ6MCwzOToxfDQ","node":{"__ref":"ForumReplyMessage:message:84920"}},{"__typename":"MessageEdge","cursor":"MjQuMTF8Mi4xfG98MTB8MTQ6MCwzOToxfDU","node":{"__ref":"ForumReplyMessage:message:84927"}},{"__typename":"MessageEdge","cursor":"MjQuMTF8Mi4xfG98MTB8MTQ6MCwzOToxfDY","node":{"__ref":"ForumReplyMessage:message:84931"}},{"__typename":"MessageEdge","cursor":"MjQuMTF8Mi4xfG98MTB8MTQ6MCwzOToxfDc","node":{"__ref":"ForumReplyMessage:message:84935"}},{"__typename":"MessageEdge","cursor":"MjQuMTF8Mi4xfG98MTB8MTQ6MCwzOToxfDg","node":{"__ref":"ForumReplyMessage:message:84939"}}],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"customFields":[]},"Conversation:conversation:84905":{"__typename":"Conversation","id":"conversation:84905","solved":true,"topic":{"__ref":"ForumTopicMessage:message:84905"},"lastPostingActivityTime":"2014-01-15T23:12:37.000-08:00","lastPostTime":"2014-01-15T23:12:37.000-08:00","unreadReplyCount":8,"isSubscribed":false},"ModerationData:moderation_data:84905":{"__typename":"ModerationData","id":"moderation_data:84905","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"Attachment:{\"id\":\"attachment:message84905AttachmentNumber1\",\"url\":\"https://community.smartbear.com/t5/s/nwkab66374/attachments/nwkab66374/testcomplete-questions/40549/1/TestCompleteDesignPattern.png\"}":{"__typename":"Attachment","id":"attachment:message84905AttachmentNumber1","filename":"TestCompleteDesignPattern.png","filesize":35980,"contentType":"image/png","url":"https://community.smartbear.com/t5/s/nwkab66374/attachments/nwkab66374/testcomplete-questions/40549/1/TestCompleteDesignPattern.png"},"Revision:revision:84905_1":{"__typename":"Revision","id":"revision:84905_1","lastEditTime":"2014-01-10T07:40:39.000-08:00"},"CachedAsset:theme:customTheme1-1737142880099":{"__typename":"CachedAsset","id":"theme:customTheme1-1737142880099","value":{"id":"customTheme1","animation":{"fast":"150ms","normal":"250ms","slow":"500ms","slowest":"750ms","function":"cubic-bezier(0.07, 0.91, 0.51, 1)","__typename":"AnimationThemeSettings"},"avatar":{"borderRadius":"50%","collections":["default"],"__typename":"AvatarThemeSettings"},"basics":{"browserIcon":{"imageAssetName":"Favicon-1702330027750.png","imageLastModified":"1702330030805","__typename":"ThemeAsset"},"customerLogo":{"imageAssetName":"SmartBear_Community-1737041278408.png","imageLastModified":"1737041280700","__typename":"ThemeAsset"},"maximumWidthOfPageContent":"1200px","oneColumnNarrowWidth":"800px","gridGutterWidthMd":"30px","gridGutterWidthXs":"10px","pageWidthStyle":"WIDTH_OF_BROWSER","__typename":"BasicsThemeSettings"},"buttons":{"borderRadiusSm":"4px","borderRadius":"4px","borderRadiusLg":"5px","paddingY":"5px","paddingYLg":"7px","paddingYHero":"var(--lia-bs-btn-padding-y-lg)","paddingX":"12px","paddingXLg":"16px","paddingXHero":"60px","fontStyle":"NORMAL","fontWeight":"400","textTransform":"NONE","disabledOpacity":0.5,"primaryTextColor":"var(--lia-bs-white)","primaryTextHoverColor":"var(--lia-bs-white)","primaryTextActiveColor":"var(--lia-bs-white)","primaryBgColor":"var(--lia-bs-primary)","primaryBgHoverColor":"hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) * 0.85))","primaryBgActiveColor":"hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) * 0.7))","primaryBorder":"1px solid transparent","primaryBorderHover":"1px solid transparent","primaryBorderActive":"1px solid transparent","primaryBorderFocus":"1px solid var(--lia-bs-white)","primaryBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","secondaryTextColor":"var(--lia-bs-body-color)","secondaryTextHoverColor":"hsl(var(--lia-bs-body-color-h), var(--lia-bs-body-color-s), calc(var(--lia-bs-body-color-l) * 0.95))","secondaryTextActiveColor":"hsl(var(--lia-bs-body-color-h), var(--lia-bs-body-color-s), calc(var(--lia-bs-body-color-l) * 0.9))","secondaryBgColor":"var(--lia-bs-gray-200)","secondaryBgHoverColor":"hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.96))","secondaryBgActiveColor":"hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.92))","secondaryBorder":"1px solid transparent","secondaryBorderHover":"1px solid transparent","secondaryBorderActive":"1px solid transparent","secondaryBorderFocus":"1px solid transparent","secondaryBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","tertiaryTextColor":"var(--lia-bs-primary)","tertiaryTextHoverColor":"hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) * 0.95))","tertiaryTextActiveColor":"hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) * 0.9))","tertiaryBgColor":"transparent","tertiaryBgHoverColor":"transparent","tertiaryBgActiveColor":"hsla(var(--lia-bs-body-bg-h), var(--lia-bs-body-bg-s), var(--lia-bs-body-bg-l), 0.04)","tertiaryBorder":"1px solid transparent","tertiaryBorderHover":"1px solid hsla(var(--lia-bs-body-bg-h), var(--lia-bs-body-bg-s), var(--lia-bs-body-bg-l), 0.08)","tertiaryBorderActive":"1px solid transparent","tertiaryBorderFocus":"1px solid transparent","tertiaryBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","destructiveTextColor":"var(--lia-bs-danger)","destructiveTextHoverColor":"hsl(var(--lia-bs-danger-h), var(--lia-bs-danger-s), calc(var(--lia-bs-danger-l) * 0.95))","destructiveTextActiveColor":"hsl(var(--lia-bs-danger-h), var(--lia-bs-danger-s), calc(var(--lia-bs-danger-l) * 0.9))","destructiveBgColor":"var(--lia-bs-gray-200)","destructiveBgHoverColor":"hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.96))","destructiveBgActiveColor":"hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.92))","destructiveBorder":"1px solid transparent","destructiveBorderHover":"1px solid transparent","destructiveBorderActive":"1px solid transparent","destructiveBorderFocus":"1px solid transparent","destructiveBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","__typename":"ButtonsThemeSettings"},"border":{"color":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)","mainContent":"NONE","sideContent":"NONE","radiusSm":"3px","radius":"5px","radiusLg":"9px","radius50":"100vw","__typename":"BorderThemeSettings"},"boxShadow":{"xs":"0 0 0 1px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.08), 0 3px 0 -1px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.08)","sm":"0 2px 4px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.06)","md":"0 5px 15px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.15)","lg":"0 10px 30px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.15)","__typename":"BoxShadowThemeSettings"},"cards":{"bgColor":"var(--lia-panel-bg-color)","borderRadius":"var(--lia-panel-border-radius)","boxShadow":"var(--lia-box-shadow-xs)","__typename":"CardsThemeSettings"},"chip":{"maxWidth":"300px","height":"30px","__typename":"ChipThemeSettings"},"coreTypes":{"defaultMessageLinkColor":"var(--lia-bs-link-color)","defaultMessageLinkDecoration":"none","defaultMessageLinkFontStyle":"NORMAL","defaultMessageLinkFontWeight":"600","defaultMessageFontStyle":"NORMAL","defaultMessageFontWeight":"400","forumColor":"#28B1FD","forumFontFamily":"var(--lia-bs-font-family-base)","forumFontWeight":"var(--lia-default-message-font-weight)","forumLineHeight":"var(--lia-bs-line-height-base)","forumFontStyle":"var(--lia-default-message-font-style)","forumMessageLinkColor":"var(--lia-default-message-link-color)","forumMessageLinkDecoration":"var(--lia-default-message-link-decoration)","forumMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","forumMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","forumSolvedColor":"#08B130","blogColor":"#000000","blogFontFamily":"var(--lia-bs-font-family-base)","blogFontWeight":"var(--lia-default-message-font-weight)","blogLineHeight":"1.75","blogFontStyle":"var(--lia-default-message-font-style)","blogMessageLinkColor":"var(--lia-default-message-link-color)","blogMessageLinkDecoration":"var(--lia-default-message-link-decoration)","blogMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","blogMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","tkbColor":"#00537C","tkbFontFamily":"var(--lia-bs-font-family-base)","tkbFontWeight":"var(--lia-default-message-font-weight)","tkbLineHeight":"1.75","tkbFontStyle":"var(--lia-default-message-font-style)","tkbMessageLinkColor":"var(--lia-default-message-link-color)","tkbMessageLinkDecoration":"var(--lia-default-message-link-decoration)","tkbMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","tkbMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","qandaColor":"#4099E2","qandaFontFamily":"var(--lia-bs-font-family-base)","qandaFontWeight":"var(--lia-default-message-font-weight)","qandaLineHeight":"var(--lia-bs-line-height-base)","qandaFontStyle":"var(--lia-default-message-link-font-style)","qandaMessageLinkColor":"var(--lia-default-message-link-color)","qandaMessageLinkDecoration":"var(--lia-default-message-link-decoration)","qandaMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","qandaMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","qandaSolvedColor":"#3FA023","ideaColor":"#FF8000","ideaFontFamily":"var(--lia-bs-font-family-base)","ideaFontWeight":"var(--lia-default-message-font-weight)","ideaLineHeight":"var(--lia-bs-line-height-base)","ideaFontStyle":"var(--lia-default-message-font-style)","ideaMessageLinkColor":"var(--lia-default-message-link-color)","ideaMessageLinkDecoration":"var(--lia-default-message-link-decoration)","ideaMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","ideaMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","contestColor":"#FCC845","contestFontFamily":"var(--lia-bs-font-family-base)","contestFontWeight":"var(--lia-default-message-font-weight)","contestLineHeight":"var(--lia-bs-line-height-base)","contestFontStyle":"var(--lia-default-message-link-font-style)","contestMessageLinkColor":"var(--lia-default-message-link-color)","contestMessageLinkDecoration":"var(--lia-default-message-link-decoration)","contestMessageLinkFontStyle":"ITALIC","contestMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","occasionColor":"#D13A1F","occasionFontFamily":"var(--lia-bs-font-family-base)","occasionFontWeight":"var(--lia-default-message-font-weight)","occasionLineHeight":"var(--lia-bs-line-height-base)","occasionFontStyle":"var(--lia-default-message-font-style)","occasionMessageLinkColor":"var(--lia-default-message-link-color)","occasionMessageLinkDecoration":"var(--lia-default-message-link-decoration)","occasionMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","occasionMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","grouphubColor":"#173647","categoryColor":"#949494","communityColor":"#FFFFFF","productColor":"#949494","__typename":"CoreTypesThemeSettings"},"colors":{"black":"#000000","white":"#FFFFFF","gray100":"#F7F7F7","gray200":"#F7F7F7","gray300":"#E8E8E8","gray400":"#D9D9D9","gray500":"#CCCCCC","gray600":"#949494","gray700":"#707070","gray800":"#545454","gray900":"#333333","dark":"#545454","light":"#F7F7F7","primary":"#097EB2","secondary":"#333333","bodyText":"#212429","bodyBg":"#FFFFFF","info":"#097EB2","success":"#08B130","warning":"#FCC844","danger":"#D13A1F","alertSystem":"#FF6600","textMuted":"#707070","highlight":"#FFFCAD","outline":"var(--lia-bs-primary)","custom":["#F8FAFB","#F0F3F5","#E4EAF1","#D8DDE4","#28B1FD","#00537C","#173647","#FF730B"],"__typename":"ColorsThemeSettings"},"divider":{"size":"3px","marginLeft":"4px","marginRight":"4px","borderRadius":"50%","bgColor":"var(--lia-bs-gray-600)","bgColorActive":"var(--lia-bs-gray-600)","__typename":"DividerThemeSettings"},"dropdown":{"fontSize":"var(--lia-bs-font-size-sm)","borderColor":"var(--lia-bs-border-color)","borderRadius":"var(--lia-bs-border-radius-sm)","dividerBg":"var(--lia-bs-gray-300)","itemPaddingY":"5px","itemPaddingX":"20px","headerColor":"var(--lia-bs-gray-700)","__typename":"DropdownThemeSettings"},"email":{"link":{"color":"#0069D4","hoverColor":"#0061c2","decoration":"none","hoverDecoration":"underline","__typename":"EmailLinkSettings"},"border":{"color":"#e4e4e4","__typename":"EmailBorderSettings"},"buttons":{"borderRadiusLg":"5px","paddingXLg":"16px","paddingYLg":"7px","fontWeight":"700","primaryTextColor":"#ffffff","primaryTextHoverColor":"#ffffff","primaryBgColor":"#0069D4","primaryBgHoverColor":"#005cb8","primaryBorder":"1px solid transparent","primaryBorderHover":"1px solid transparent","__typename":"EmailButtonsSettings"},"panel":{"borderRadius":"5px","borderColor":"#e4e4e4","__typename":"EmailPanelSettings"},"__typename":"EmailThemeSettings"},"emoji":{"skinToneDefault":"#ffcd43","skinToneLight":"#fae3c5","skinToneMediumLight":"#e2cfa5","skinToneMedium":"#daa478","skinToneMediumDark":"#a78058","skinToneDark":"#5e4d43","__typename":"EmojiThemeSettings"},"heading":{"color":"var(--lia-bs-body-color)","fontFamily":"Roboto","fontStyle":"NORMAL","fontWeight":"400","h1FontSize":"38px","h2FontSize":"32px","h3FontSize":"28px","h4FontSize":"24px","h5FontSize":"20px","h6FontSize":"16px","lineHeight":"1.3","subHeaderFontSize":"11px","subHeaderFontWeight":"500","h1LetterSpacing":"normal","h2LetterSpacing":"normal","h3LetterSpacing":"normal","h4LetterSpacing":"normal","h5LetterSpacing":"normal","h6LetterSpacing":"normal","subHeaderLetterSpacing":"2px","h1FontWeight":null,"h2FontWeight":null,"h3FontWeight":null,"h4FontWeight":null,"h5FontWeight":null,"h6FontWeight":null,"__typename":"HeadingThemeSettings"},"icons":{"size10":"10px","size12":"12px","size14":"14px","size16":"16px","size20":"20px","size24":"24px","size30":"30px","size40":"40px","size50":"50px","size60":"60px","size80":"80px","size120":"120px","size160":"160px","__typename":"IconsThemeSettings"},"imagePreview":{"bgColor":"var(--lia-bs-gray-900)","titleColor":"var(--lia-bs-white)","controlColor":"var(--lia-bs-white)","controlBgColor":"var(--lia-bs-gray-800)","__typename":"ImagePreviewThemeSettings"},"input":{"borderColor":"var(--lia-bs-gray-600)","disabledColor":"var(--lia-bs-gray-600)","focusBorderColor":"var(--lia-bs-primary)","labelMarginBottom":"10px","btnFontSize":"var(--lia-bs-font-size-sm)","focusBoxShadow":"0 0 0 3px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","checkLabelMarginBottom":"2px","checkboxBorderRadius":"3px","borderRadiusSm":"var(--lia-bs-border-radius-sm)","borderRadius":"var(--lia-bs-border-radius)","borderRadiusLg":"var(--lia-bs-border-radius-lg)","formTextMarginTop":"4px","textAreaBorderRadius":"var(--lia-bs-border-radius)","activeFillColor":"var(--lia-bs-primary)","__typename":"InputThemeSettings"},"loading":{"dotDarkColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.2)","dotLightColor":"hsla(var(--lia-bs-white-h), var(--lia-bs-white-s), var(--lia-bs-white-l), 0.5)","barDarkColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.06)","barLightColor":"hsla(var(--lia-bs-white-h), var(--lia-bs-white-s), var(--lia-bs-white-l), 0.4)","__typename":"LoadingThemeSettings"},"link":{"color":"var(--lia-bs-primary)","hoverColor":"hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) - 10%))","decoration":"none","hoverDecoration":"underline","__typename":"LinkThemeSettings"},"listGroup":{"itemPaddingY":"15px","itemPaddingX":"15px","borderColor":"var(--lia-bs-gray-300)","__typename":"ListGroupThemeSettings"},"modal":{"contentTextColor":"var(--lia-bs-body-color)","contentBg":"var(--lia-bs-white)","backgroundBg":"var(--lia-bs-black)","smSize":"440px","mdSize":"760px","lgSize":"1080px","backdropOpacity":0.3,"contentBoxShadowXs":"var(--lia-bs-box-shadow-sm)","contentBoxShadow":"var(--lia-bs-box-shadow)","headerFontWeight":"700","__typename":"ModalThemeSettings"},"navbar":{"position":"FIXED","background":{"attachment":null,"clip":null,"color":"var(--lia-bs-white)","imageAssetName":null,"imageLastModified":"0","origin":null,"position":"CENTER_CENTER","repeat":"NO_REPEAT","size":"COVER","__typename":"BackgroundProps"},"backgroundOpacity":0.8,"paddingTop":"15px","paddingBottom":"15px","borderBottom":"1px solid var(--lia-bs-border-color)","boxShadow":"var(--lia-bs-box-shadow-sm)","brandMarginRight":"30px","brandMarginRightSm":"10px","brandLogoHeight":"30px","linkGap":"10px","linkJustifyContent":"flex-start","linkPaddingY":"5px","linkPaddingX":"10px","linkDropdownPaddingY":"9px","linkDropdownPaddingX":"var(--lia-nav-link-px)","linkColor":"var(--lia-bs-body-color)","linkHoverColor":"var(--lia-bs-primary)","linkFontSize":"var(--lia-bs-font-size-sm)","linkFontStyle":"NORMAL","linkFontWeight":"400","linkTextTransform":"NONE","linkLetterSpacing":"normal","linkBorderRadius":"var(--lia-bs-border-radius-sm)","linkBgColor":"transparent","linkBgHoverColor":"transparent","linkBorder":"none","linkBorderHover":"none","linkBoxShadow":"none","linkBoxShadowHover":"none","linkTextBorderBottom":"none","linkTextBorderBottomHover":"none","dropdownPaddingTop":"10px","dropdownPaddingBottom":"15px","dropdownPaddingX":"10px","dropdownMenuOffset":"2px","dropdownDividerMarginTop":"10px","dropdownDividerMarginBottom":"10px","dropdownBorderColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)","controllerBgHoverColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.1)","controllerIconColor":"var(--lia-bs-body-color)","controllerIconHoverColor":"var(--lia-bs-body-color)","controllerTextColor":"var(--lia-nav-controller-icon-color)","controllerTextHoverColor":"var(--lia-nav-controller-icon-hover-color)","controllerHighlightColor":"hsla(30, 100%, 50%)","controllerHighlightTextColor":"var(--lia-yiq-light)","controllerBorderRadius":"var(--lia-border-radius-50)","hamburgerColor":"var(--lia-nav-controller-icon-color)","hamburgerHoverColor":"var(--lia-nav-controller-icon-color)","hamburgerBgColor":"transparent","hamburgerBgHoverColor":"transparent","hamburgerBorder":"none","hamburgerBorderHover":"none","collapseMenuMarginLeft":"20px","collapseMenuDividerBg":"var(--lia-nav-link-color)","collapseMenuDividerOpacity":0.16,"__typename":"NavbarThemeSettings"},"pager":{"textColor":"var(--lia-bs-link-color)","textFontWeight":"var(--lia-font-weight-md)","textFontSize":"var(--lia-bs-font-size-sm)","__typename":"PagerThemeSettings"},"panel":{"bgColor":"var(--lia-bs-white)","borderRadius":"var(--lia-bs-border-radius)","borderColor":"var(--lia-bs-border-color)","boxShadow":"none","__typename":"PanelThemeSettings"},"popover":{"arrowHeight":"8px","arrowWidth":"16px","maxWidth":"300px","minWidth":"100px","headerBg":"var(--lia-bs-white)","borderColor":"var(--lia-bs-border-color)","borderRadius":"var(--lia-bs-border-radius)","boxShadow":"0 0.5rem 1rem hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.15)","__typename":"PopoverThemeSettings"},"prism":{"color":"#000000","bgColor":"#f5f2f0","fontFamily":"var(--font-family-monospace)","fontSize":"var(--lia-bs-font-size-base)","fontWeightBold":"var(--lia-bs-font-weight-bold)","fontStyleItalic":"italic","tabSize":2,"highlightColor":"#b3d4fc","commentColor":"#62707e","punctuationColor":"#6f6f6f","namespaceOpacity":"0.7","propColor":"#990055","selectorColor":"#517a00","operatorColor":"#906736","operatorBgColor":"hsla(0, 0%, 100%, 0.5)","keywordColor":"#0076a9","functionColor":"#d3284b","variableColor":"#c14700","__typename":"PrismThemeSettings"},"rte":{"bgColor":"var(--lia-bs-white)","borderRadius":"var(--lia-panel-border-radius)","boxShadow":" var(--lia-panel-box-shadow)","customColor1":"#bfedd2","customColor2":"#fbeeb8","customColor3":"#f8cac6","customColor4":"#eccafa","customColor5":"#c2e0f4","customColor6":"#2dc26b","customColor7":"#f1c40f","customColor8":"#e03e2d","customColor9":"#b96ad9","customColor10":"#3598db","customColor11":"#169179","customColor12":"#e67e23","customColor13":"#ba372a","customColor14":"#843fa1","customColor15":"#236fa1","customColor16":"#ecf0f1","customColor17":"#ced4d9","customColor18":"#95a5a6","customColor19":"#7e8c8d","customColor20":"#34495e","customColor21":"#000000","customColor22":"#ffffff","defaultMessageHeaderMarginTop":"40px","defaultMessageHeaderMarginBottom":"20px","defaultMessageItemMarginTop":"0","defaultMessageItemMarginBottom":"30px","diffAddedColor":"hsla(170, 53%, 51%, 0.4)","diffChangedColor":"hsla(43, 97%, 63%, 0.4)","diffNoneColor":"hsla(0, 0%, 80%, 0.4)","diffRemovedColor":"hsla(9, 74%, 47%, 0.4)","specialMessageHeaderMarginTop":"40px","specialMessageHeaderMarginBottom":"20px","specialMessageItemMarginTop":"0","specialMessageItemMarginBottom":"30px","__typename":"RteThemeSettings"},"tags":{"bgColor":"var(--lia-bs-gray-200)","bgHoverColor":"var(--lia-bs-gray-400)","borderRadius":"var(--lia-bs-border-radius-sm)","color":"var(--lia-bs-body-color)","hoverColor":"var(--lia-bs-body-color)","fontWeight":"var(--lia-font-weight-md)","fontSize":"var(--lia-font-size-xxs)","textTransform":"UPPERCASE","letterSpacing":"0.5px","__typename":"TagsThemeSettings"},"toasts":{"borderRadius":"var(--lia-bs-border-radius)","paddingX":"12px","__typename":"ToastsThemeSettings"},"typography":{"fontFamilyBase":"Open Sans","fontStyleBase":"NORMAL","fontWeightBase":"400","fontWeightLight":"300","fontWeightNormal":"400","fontWeightMd":"500","fontWeightBold":"700","letterSpacingSm":"normal","letterSpacingXs":"normal","lineHeightBase":"1.5","fontSizeBase":"16px","fontSizeXxs":"11px","fontSizeXs":"12px","fontSizeSm":"14px","fontSizeLg":"20px","fontSizeXl":"24px","smallFontSize":"14px","customFonts":[],"__typename":"TypographyThemeSettings"},"unstyledListItem":{"marginBottomSm":"5px","marginBottomMd":"10px","marginBottomLg":"15px","marginBottomXl":"20px","marginBottomXxl":"25px","__typename":"UnstyledListItemThemeSettings"},"yiq":{"light":"#ffffff","dark":"#000000","__typename":"YiqThemeSettings"},"colorLightness":{"primaryDark":0.36,"primaryLight":0.74,"primaryLighter":0.89,"primaryLightest":0.95,"infoDark":0.39,"infoLight":0.72,"infoLighter":0.85,"infoLightest":0.93,"successDark":0.24,"successLight":0.62,"successLighter":0.8,"successLightest":0.91,"warningDark":0.39,"warningLight":0.68,"warningLighter":0.84,"warningLightest":0.93,"dangerDark":0.41,"dangerLight":0.72,"dangerLighter":0.89,"dangerLightest":0.95,"__typename":"ColorLightnessThemeSettings"},"localOverride":false,"__typename":"Theme"},"localOverride":false},"CachedAsset:text:en_US-components/common/EmailVerification-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/common/EmailVerification-1720711077000","value":{"email.verification.title":"Email Verification Required","email.verification.message.update.email":"To participate in the community, you must first verify your email address. The verification email was sent to {email}. To change your email, visit My Settings.","email.verification.message.resend.email":"To participate in the community, you must first verify your email address. The verification email was sent to {email}. Resend email."},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/Loading/LoadingDot-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/Loading/LoadingDot-1720711077000","value":{"title":"Loading..."},"localOverride":false},"CachedAsset:quilt:smartbear.prod:pages/forums/ForumMessagePage:board:testcomplete-questions-1737142878485":{"__typename":"CachedAsset","id":"quilt:smartbear.prod:pages/forums/ForumMessagePage:board:testcomplete-questions-1737142878485","value":{"id":"ForumMessagePage","container":{"id":"Common","headerProps":{"backgroundImageProps":null,"backgroundColor":null,"addComponents":null,"removeComponents":["community.widget.bannerWidget"],"componentOrder":null,"__typename":"QuiltContainerSectionProps"},"headerComponentProps":{"community.widget.breadcrumbWidget":{"disableLastCrumbForDesktop":false}},"footerProps":null,"footerComponentProps":null,"items":[{"id":"message-list","layout":"MAIN_SIDE","bgColor":null,"showTitle":null,"showDescription":null,"textPosition":null,"textColor":null,"sectionEditLevel":null,"bgImage":null,"disableSpacing":null,"edgeToEdgeDisplay":null,"fullHeight":null,"showBorder":null,"__typename":"MainSideQuiltSection","columnMap":{"main":[{"id":"messages.widget.topicWithThreadedReplyListWidget","className":"lia-topic-with-replies","props":{"editLevel":"CONFIGURE"},"__typename":"QuiltComponent"}],"side":[{"id":"messages.widget.relatedContentWidget","className":null,"props":null,"__typename":"QuiltComponent"},{"id":"messages.widget.messageListForNodeByRecentActivityWidget","className":null,"props":{"hideIfEmpty":true,"useTitle":true,"showTabs":false,"pageSize":5,"pagerVariant":{"type":"loadMore"},"style":"compact","viewVariant":{"type":"inline","props":{"useRepliesCount":false,"useMedia":false,"useAuthorRank":false,"useNode":false,"boardIconSize":"24","truncateBodyLength":-1,"useNodeLink":true,"usePreviewMedia":false,"timeStampType":"conversation.lastPostingActivityTime","avatarSize":"40","useTextBody":true,"useSolvedBadge":true,"subjectAs":"h6","renderPostTimeBeforeAuthor":true,"useAvatar":true,"useTimeToRead":false,"useSpoilerFreeBody":true,"useKudosCount":false,"useViewCount":false,"useBody":false,"useTags":false,"clampSubjectLines":1,"useBoardIcon":false,"clampBodyLines":3,"useAuthorLogin":true,"useUnreadCount":false,"useNodeHoverCard":true,"useSearchSnippet":false}},"panelType":"divider","sorts":{"conversationLastPostingActivityTime":{"direction":"DESC"}}},"__typename":"QuiltComponent"}],"__typename":"MainSideSectionColumns"}}],"__typename":"QuiltContainer"},"__typename":"Quilt","localOverride":false},"localOverride":false},"CachedAsset:text:en_US-pages/forums/ForumMessagePage-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-pages/forums/ForumMessagePage-1720711077000","value":{"title":"{contextMessageSubject} | {communityTitle}","errorMissing":"This message cannot be found","name":"Forum Message Page","section.message-list.title":"Forum Discussion","archivedMessageTitle":"This Content Has Been Archived"},"localOverride":false},"CachedAsset:quiltWrapper:smartbear.prod:Common:1737142823160":{"__typename":"CachedAsset","id":"quiltWrapper:smartbear.prod:Common:1737142823160","value":{"id":"Common","header":{"backgroundImageProps":{"assetName":null,"backgroundSize":"COVER","backgroundRepeat":"NO_REPEAT","backgroundPosition":"CENTER_CENTER","lastModified":null,"__typename":"BackgroundImageProps"},"backgroundColor":"transparent","items":[{"id":"community.widget.navbarWidget","props":{"showUserName":true,"showRegisterLink":true,"useIconLanguagePicker":true,"useLabelLanguagePicker":true,"style":{"boxShadow":"var(--lia-bs-box-shadow-sm)","linkFontWeight":"400","controllerHighlightColor":"hsla(30, 100%, 50%)","dropdownDividerMarginBottom":"10px","hamburgerBorderHover":"none","linkFontSize":"14px","linkBoxShadowHover":"none","backgroundOpacity":0.8,"controllerBorderRadius":"var(--lia-border-radius-50)","hamburgerBgColor":"transparent","linkTextBorderBottom":"none","hamburgerColor":"var(--lia-nav-controller-icon-color)","brandLogoHeight":"48px","linkLetterSpacing":"normal","linkBgHoverColor":"transparent","collapseMenuDividerOpacity":0.16,"paddingBottom":"15px","dropdownPaddingBottom":"15px","dropdownMenuOffset":"2px","hamburgerBgHoverColor":"transparent","borderBottom":"1px solid var(--lia-bs-border-color)","hamburgerBorder":"none","dropdownPaddingX":"10px","brandMarginRightSm":"10px","linkBoxShadow":"none","linkJustifyContent":"flex-start","linkColor":"var(--lia-bs-body-color)","collapseMenuDividerBg":"var(--lia-nav-link-color)","dropdownPaddingTop":"10px","controllerHighlightTextColor":"var(--lia-yiq-dark)","controllerTextColor":"var(--lia-nav-controller-icon-color)","background":{"imageAssetName":"","color":"var(--lia-bs-white)","size":"COVER","repeat":"NO_REPEAT","position":"CENTER_CENTER","imageLastModified":""},"linkBorderRadius":"var(--lia-bs-border-radius-sm)","linkHoverColor":"var(--lia-bs-primary)","position":"FIXED","linkBorder":"none","linkTextBorderBottomHover":"0","brandMarginRight":"30px","hamburgerHoverColor":"var(--lia-nav-controller-icon-color)","linkBorderHover":"none","collapseMenuMarginLeft":"20px","linkFontStyle":"NORMAL","linkPaddingX":"10px","controllerTextHoverColor":"var(--lia-nav-controller-icon-hover-color)","paddingTop":"15px","linkPaddingY":"5px","linkTextTransform":"NONE","dropdownBorderColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)","controllerBgHoverColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.1)","linkDropdownPaddingX":"var(--lia-nav-link-px)","linkBgColor":"transparent","linkDropdownPaddingY":"9px","controllerIconColor":"var(--lia-bs-body-color)","dropdownDividerMarginTop":"10px","linkGap":"10px","controllerIconHoverColor":"var(--lia-bs-body-color)"},"className":"QuiltComponent_lia-component-edit-mode__0nCcm","links":{"sideLinks":[],"mainLinks":[]},"showSearchIcon":true,"languagePickerStyle":"iconAndLabel"},"__typename":"QuiltComponent"},{"id":"community.widget.breadcrumbWidget","props":null,"__typename":"QuiltComponent"},{"id":"community.widget.bannerWidget","props":null,"__typename":"QuiltComponent"}],"__typename":"QuiltWrapperSection"},"footer":{"backgroundImageProps":{"assetName":null,"backgroundSize":"COVER","backgroundRepeat":"NO_REPEAT","backgroundPosition":"CENTER_CENTER","lastModified":null,"__typename":"BackgroundImageProps"},"backgroundColor":"var(--lia-bs-gray-800)","items":[{"id":"custom.widget.Footer_Links","props":{"widgetVisibility":"signedInOrAnonymous","useTitle":true,"useBackground":false,"title":"","lazyLoad":false},"__typename":"QuiltComponent"},{"id":"custom.widget.Tag_Manager_Helper","props":{"widgetVisibility":"signedInOrAnonymous","useTitle":false,"useBackground":false,"title":"Tag Manager","lazyLoad":false},"__typename":"QuiltComponent"},{"id":"custom.widget.Custom_Style_Helper","props":{"widgetVisibility":"signedInOrAnonymous","useTitle":true,"useBackground":false,"title":"","lazyLoad":false},"__typename":"QuiltComponent"}],"__typename":"QuiltWrapperSection"},"__typename":"QuiltWrapper","localOverride":false},"localOverride":false},"CachedAsset:text:en_US-components/common/ActionFeedback-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/common/ActionFeedback-1720711077000","value":{"joinedGroupHub.title":"Welcome","joinedGroupHub.message":"You are now a member of this group and are subscribed to updates.","groupHubInviteNotFound.title":"Invitation Not Found","groupHubInviteNotFound.message":"Sorry, we could not find your invitation to the group. The owner may have canceled the invite.","groupHubNotFound.title":"Group Not Found","groupHubNotFound.message":"The grouphub you tried to join does not exist. It may have been deleted.","existingGroupHubMember.title":"Already Joined","existingGroupHubMember.message":"You are already a member of this group.","accountLocked.title":"Account Locked","accountLocked.message":"Your account has been locked due to multiple failed attempts. Try again in {lockoutTime} minutes.","editedGroupHub.title":"Changes Saved","editedGroupHub.message":"Your group has been updated.","leftGroupHub.title":"Goodbye","leftGroupHub.message":"You are no longer a member of this group and will not receive future updates.","deletedGroupHub.title":"Deleted","deletedGroupHub.message":"The group has been deleted.","groupHubCreated.title":"Group Created","groupHubCreated.message":"{groupHubName} is ready to use","accountClosed.title":"Account Closed","accountClosed.message":"The account has been closed and you will now be redirected to the homepage","resetTokenExpired.title":"Reset Password Link has Expired","resetTokenExpired.message":"Try resetting your password again","invalidUrl.title":"Invalid URL","invalidUrl.message":"The URL you're using is not recognized. Verify your URL and try again.","accountClosedForUser.title":"Account Closed","accountClosedForUser.message":"{userName}'s account is closed","inviteTokenInvalid.title":"Invitation Invalid","inviteTokenInvalid.message":"Your invitation to the community has been canceled or expired.","inviteTokenError.title":"Invitation Verification Failed","inviteTokenError.message":"The url you are utilizing is not recognized. Verify your URL and try again","pageNotFound.title":"Access Denied","pageNotFound.message":"You do not have access to this area of the community or it doesn't exist","eventAttending.title":"Responded as Attending","eventAttending.message":"You'll be notified when there's new activity and reminded as the event approaches","eventInterested.title":"Responded as Interested","eventInterested.message":"You'll be notified when there's new activity and reminded as the event approaches","eventNotFound.title":"Event Not Found","eventNotFound.message":"The event you tried to respond to does not exist.","redirectToRelatedPage.title":"Showing Related Content","redirectToRelatedPageForBaseUsers.title":"Showing Related Content","redirectToRelatedPageForBaseUsers.message":"The content you are trying to access is archived","redirectToRelatedPage.message":"The content you are trying to access is archived","relatedUrl.archivalLink.flyoutMessage":"The content you are trying to access is archived View Archived Content"},"localOverride":false},"CachedAsset:component:custom.widget.Footer_Links-en-1737142904121":{"__typename":"CachedAsset","id":"component:custom.widget.Footer_Links-en-1737142904121","value":{"component":{"id":"custom.widget.Footer_Links","template":{"id":"Footer_Links","markupLanguage":"HANDLEBARS","style":null,"texts":null,"defaults":{"config":{"applicablePages":[],"dynamicByCoreNode":false,"description":"Footer Links","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.Footer_Links","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"dynamicByCoreNode":false,"description":"Footer Links","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":null,"form":null},"localOverride":false},"CachedAsset:component:custom.widget.Tag_Manager_Helper-en-1737142904121":{"__typename":"CachedAsset","id":"component:custom.widget.Tag_Manager_Helper-en-1737142904121","value":{"component":{"id":"custom.widget.Tag_Manager_Helper","template":{"id":"Tag_Manager_Helper","markupLanguage":"HANDLEBARS","style":null,"texts":null,"defaults":{"config":{"applicablePages":[],"dynamicByCoreNode":false,"description":"Helper widget to inject Google Tag Manager scripts into head element","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.Tag_Manager_Helper","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"dynamicByCoreNode":false,"description":"Helper widget to inject Google Tag Manager scripts into head element","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":null,"form":null},"localOverride":false},"CachedAsset:component:custom.widget.Custom_Style_Helper-en-1737142904121":{"__typename":"CachedAsset","id":"component:custom.widget.Custom_Style_Helper-en-1737142904121","value":{"component":{"id":"custom.widget.Custom_Style_Helper","template":{"id":"Custom_Style_Helper","markupLanguage":"HANDLEBARS","style":null,"texts":null,"defaults":{"config":{"applicablePages":[],"dynamicByCoreNode":false,"description":"Helper widget to inject SmartBear Styles","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.Custom_Style_Helper","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"dynamicByCoreNode":false,"description":"Helper widget to inject SmartBear Styles","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":null,"form":null},"localOverride":false},"CachedAsset:text:en_US-components/community/Navbar-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/community/Navbar-1720711077000","value":{"community":"Community Home","inbox":"Inbox","manageContent":"Manage Content","tos":"Terms of Service","forgotPassword":"Forgot Password","themeEditor":"Theme Editor","edit":"Edit Navigation Bar","skipContent":"Skip to content"},"localOverride":false},"CachedAsset:text:en_US-components/community/NavbarHamburgerDropdown-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/community/NavbarHamburgerDropdown-1720711077000","value":{"hamburgerLabel":"Side Menu"},"localOverride":false},"CachedAsset:text:en_US-components/community/BrandLogo-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/community/BrandLogo-1720711077000","value":{"logoAlt":"Khoros","themeLogoAlt":"Brand Logo"},"localOverride":false},"CachedAsset:text:en_US-components/community/NavbarTextLinks-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/community/NavbarTextLinks-1720711077000","value":{"more":"More"},"localOverride":false},"CachedAsset:text:en_US-components/search/SpotlightSearchIcon-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/search/SpotlightSearchIcon-1720711077000","value":{"search":"Search"},"localOverride":false},"CachedAsset:text:en_US-components/authentication/AuthenticationLink-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/authentication/AuthenticationLink-1720711077000","value":{"title.login":"Sign In","title.registration":"Register","title.forgotPassword":"Forgot Password","title.multiAuthLogin":"Sign In"},"localOverride":false},"CachedAsset:text:en_US-components/community/Breadcrumb-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/community/Breadcrumb-1720711077000","value":{"navLabel":"Breadcrumbs","dropdown":"Additional parent page navigation"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageBanner-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageBanner-1720711077000","value":{"messageMarkedAsSpam":"This post has been marked as spam","messageMarkedAsSpam@board:TKB":"This article has been marked as spam","messageMarkedAsSpam@board:BLOG":"This post has been marked as spam","messageMarkedAsSpam@board:FORUM":"This discussion has been marked as spam","messageMarkedAsSpam@board:OCCASION":"This event has been marked as spam","messageMarkedAsSpam@board:IDEA":"This idea has been marked as spam","manageSpam":"Manage Spam","messageMarkedAsAbuse":"This post has been marked as abuse","messageMarkedAsAbuse@board:TKB":"This article has been marked as abuse","messageMarkedAsAbuse@board:BLOG":"This post has been marked as abuse","messageMarkedAsAbuse@board:FORUM":"This discussion has been marked as abuse","messageMarkedAsAbuse@board:OCCASION":"This event has been marked as abuse","messageMarkedAsAbuse@board:IDEA":"This idea has been marked as abuse","preModCommentAuthorText":"This comment will be published as soon as it is approved","preModCommentModeratorText":"This comment is awaiting moderation","messageMarkedAsOther":"This post has been rejected due to other reasons","messageMarkedAsOther@board:TKB":"This article has been rejected due to other reasons","messageMarkedAsOther@board:BLOG":"This post has been rejected due to other reasons","messageMarkedAsOther@board:FORUM":"This discussion has been rejected due to other reasons","messageMarkedAsOther@board:OCCASION":"This event has been rejected due to other reasons","messageMarkedAsOther@board:IDEA":"This idea has been rejected due to other reasons","messageArchived":"This post was archived on {date}","relatedUrl":"View Related Content","relatedContentText":"Showing related content","archivedContentLink":"View Archived Content"},"localOverride":false},"CachedAsset:text:en_US-components/messages/RelatedContentWidget-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/RelatedContentWidget-1720711077000","value":{"title":"Related Content","emptyDescription":"No content to show"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageListForNodeByRecentActivityWidget-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageListForNodeByRecentActivityWidget-1720711077000","value":{"title@userScope:other":"Recent Content","title@userScope:self":"Contributions","title@board:FORUM@userScope:other":"Recent Discussions","title@board:BLOG@userScope:other":"Recent Blogs","emptyDescription":"No content to show","MessageListForNodeByRecentActivityWidgetEditor.nodeScope.label":"Scope","title@instance:1703254420736":"Latest Posts","title@instance:1698433901422":"Latest Posts"},"localOverride":false},"Conversation:conversation:273962":{"__typename":"Conversation","id":"conversation:273962","topic":{"__typename":"ForumTopicMessage","uid":273962},"lastPostingActivityTime":"2025-01-20T02:17:30.182-08:00","solved":false},"ForumTopicMessage:message:273962":{"__typename":"ForumTopicMessage","subject":"Does TestComplete supports Avalonia UI framework?","conversation":{"__ref":"Conversation:conversation:273962"},"id":"message:273962","revisionNum":1,"uid":273962,"depth":0,"board":{"__ref":"Forum:board:testcomplete-questions"},"author":{"__typename":"User","uid":126843,"login":"reenuroy","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://community.smartbear.com/t5/s/nwkab66374/m_assets/avatars/default/avatar-6.svg"}},"metrics":{"__typename":"MessageMetrics","views":3},"postTime":"2025-01-20T02:17:30.182-08:00","lastPublishTime":"2025-01-20T02:17:30.182-08:00","readOnly":false},"Conversation:conversation:273948":{"__typename":"Conversation","id":"conversation:273948","topic":{"__typename":"ForumTopicMessage","uid":273948},"lastPostingActivityTime":"2025-01-19T14:43:21.456-08:00","solved":false},"ForumTopicMessage:message:273948":{"__typename":"ForumTopicMessage","subject":"How to get aqDlg.MessageDlg to function in Keyword test?","conversation":{"__ref":"Conversation:conversation:273948"},"id":"message:273948","revisionNum":1,"uid":273948,"depth":0,"board":{"__ref":"Forum:board:testcomplete-questions"},"author":{"__typename":"User","uid":128255,"login":"joscva","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://community.smartbear.com/t5/s/nwkab66374/m_assets/avatars/default/avatar-10.svg"}},"metrics":{"__typename":"MessageMetrics","views":7},"postTime":"2025-01-19T14:43:21.456-08:00","lastPublishTime":"2025-01-19T14:43:21.456-08:00","readOnly":false},"Conversation:conversation:273802":{"__typename":"Conversation","id":"conversation:273802","topic":{"__typename":"ForumTopicMessage","uid":273802},"lastPostingActivityTime":"2025-01-19T14:36:42.260-08:00","solved":true},"ForumTopicMessage:message:273802":{"__typename":"ForumTopicMessage","subject":"Desktop app keyword test, extract alphanum, edit and convert to number for later use?","conversation":{"__ref":"Conversation:conversation:273802"},"id":"message:273802","revisionNum":1,"uid":273802,"depth":0,"board":{"__ref":"Forum:board:testcomplete-questions"},"author":{"__typename":"User","uid":128255,"login":"joscva","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://community.smartbear.com/t5/s/nwkab66374/m_assets/avatars/default/avatar-10.svg"}},"metrics":{"__typename":"MessageMetrics","views":533},"postTime":"2025-01-14T20:57:38.420-08:00","lastPublishTime":"2025-01-14T20:57:38.420-08:00","readOnly":false},"Conversation:conversation:273942":{"__typename":"Conversation","id":"conversation:273942","topic":{"__typename":"ForumTopicMessage","uid":273942},"lastPostingActivityTime":"2025-01-19T13:14:07.208-08:00","solved":false},"ForumTopicMessage:message:273942":{"__typename":"ForumTopicMessage","subject":"What to do when UI element can't be selected by TC in a Keyword test?","conversation":{"__ref":"Conversation:conversation:273942"},"id":"message:273942","revisionNum":1,"uid":273942,"depth":0,"board":{"__ref":"Forum:board:testcomplete-questions"},"author":{"__typename":"User","uid":128255,"login":"joscva","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://community.smartbear.com/t5/s/nwkab66374/m_assets/avatars/default/avatar-10.svg"}},"metrics":{"__typename":"MessageMetrics","views":15},"postTime":"2025-01-19T12:16:41.613-08:00","lastPublishTime":"2025-01-19T12:16:41.613-08:00","readOnly":false},"Conversation:conversation:273878":{"__typename":"Conversation","id":"conversation:273878","topic":{"__typename":"ForumTopicMessage","uid":273878},"lastPostingActivityTime":"2025-01-17T09:50:09.552-08:00","solved":false},"ForumTopicMessage:message:273878":{"__typename":"ForumTopicMessage","subject":"Chrome browser starts with Sad Face","conversation":{"__ref":"Conversation:conversation:273878"},"id":"message:273878","revisionNum":1,"uid":273878,"depth":0,"board":{"__ref":"Forum:board:testcomplete-questions"},"author":{"__typename":"User","uid":128298,"login":"S_Lecault","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://community.smartbear.com/t5/s/nwkab66374/m_assets/avatars/default/avatar-6.svg"}},"metrics":{"__typename":"MessageMetrics","views":375},"postTime":"2025-01-16T12:40:49.733-08:00","lastPublishTime":"2025-01-16T12:40:49.733-08:00","readOnly":false},"Rank:rank:13":{"__typename":"Rank","id":"rank:13","position":19,"name":"Contributor","color":"333333","icon":null,"rankStyle":"TEXT"},"User:user:70893":{"__typename":"User","id":"user:70893","uid":70893,"login":"Babulu","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2016-06-07T02:05:51.214-07:00","confirmEmailStatus":null,"registrationAccessLevel":null,"ssoRegistrationFields":[]},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.smartbear.com/t5/s/nwkab66374/m_assets/avatars/default/avatar-11.svg"},"rank":{"__ref":"Rank:rank:13"},"messagesCount":73,"kudosGivenCount":2,"kudosReceivedCount":13,"kudosWeight":1,"ssoId":null,"followersCount":null,"solutionsCount":3,"entityType":"USER","eventPath":"community:nwkab66374/user:70893"},"ForumTopicMessage:message:229263":{"__typename":"ForumTopicMessage","uid":229263,"subject":"How to convert vbscript code to javascript in testcomplete","id":"message:229263","revisionNum":1,"repliesCount":4,"author":{"__ref":"User:user:70893"},"depth":0,"hasGivenKudo":false,"board":{"__ref":"Forum:board:testcomplete-questions"},"conversation":{"__ref":"Conversation:conversation:229263"},"moderationData":{"__ref":"ModerationData:moderation_data:229263"},"postTime":"2022-01-31T05:03:59.852-08:00","lastPublishTime":"2022-01-31T05:03:59.852-08:00","readOnly":false,"metrics":{"__typename":"MessageMetrics","views":6149},"placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"entityType":"FORUM_TOPIC","eventPath":"category:TestComplete_forum/community:nwkab66374board:testcomplete-questions/message:229263"},"Conversation:conversation:229263":{"__typename":"Conversation","id":"conversation:229263","solved":true,"topic":{"__ref":"ForumTopicMessage:message:229263"},"lastPostingActivityTime":"2022-02-03T08:48:29.096-08:00","lastPostTime":"2022-02-03T08:48:29.096-08:00"},"ModerationData:moderation_data:229263":{"__typename":"ModerationData","id":"moderation_data:229263","status":"APPROVED","rejectReason":null},"RelatedContentMessage:RelatedContentMessage:229263":{"__typename":"RelatedContentMessage","id":"RelatedContentMessage:229263","relatedMessage":{"__ref":"ForumTopicMessage:message:229263"}},"Rank:rank:14":{"__typename":"Rank","id":"rank:14","position":20,"name":"Occasional Contributor","color":"333333","icon":null,"rankStyle":"TEXT"},"User:user:118099":{"__typename":"User","id":"user:118099","uid":118099,"login":"mtsapa","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2023-05-15T07:42:40.898-07:00","confirmEmailStatus":null,"registrationAccessLevel":null,"ssoRegistrationFields":[]},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.smartbear.com/t5/s/nwkab66374/m_assets/avatars/default/avatar-5.svg"},"rank":{"__ref":"Rank:rank:14"},"messagesCount":8,"kudosGivenCount":1,"kudosReceivedCount":0,"kudosWeight":1,"ssoId":null,"followersCount":null,"solutionsCount":1,"entityType":"USER","eventPath":"community:nwkab66374/user:118099"},"Category:category:LoadNinja":{"__typename":"Category","id":"category:LoadNinja","entityType":"CATEGORY","displayId":"LoadNinja","nodeType":"category","depth":1,"title":"LoadNinja","shortTitle":"LoadNinja Community"},"AssociatedImage:{\"url\":\"https://community.smartbear.com/t5/s/nwkab66374/images/bi0xODYtS1g0eW9X?image-coordinates=0%2C0%2C201%2C201\"}":{"__typename":"AssociatedImage","url":"https://community.smartbear.com/t5/s/nwkab66374/images/bi0xODYtS1g0eW9X?image-coordinates=0%2C0%2C201%2C201","mimeType":"image/png"},"Forum:board:LoadNinja":{"__typename":"Forum","id":"board:LoadNinja","entityType":"FORUM","displayId":"LoadNinja","nodeType":"board","depth":2,"conversationStyle":"FORUM","title":"LoadNinja Questions","shortTitle":"LoadNinja Questions","parent":{"__ref":"Category:category:LoadNinja"},"userContext":{"__typename":"NodeUserContext","canAddAttachments":true,"canUpdateNode":false,"canPostMessages":false,"isSubscribed":false},"avatar":{"__ref":"AssociatedImage:{\"url\":\"https://community.smartbear.com/t5/s/nwkab66374/images/bi0xODYtS1g0eW9X?image-coordinates=0%2C0%2C201%2C201\"}"},"description":"","eventPath":"category:LoadNinja/community:nwkab66374board:LoadNinja/"},"ForumTopicMessage:message:250327":{"__typename":"ForumTopicMessage","uid":250327,"subject":"Unable to recognize a button in LoadNinja","id":"message:250327","revisionNum":1,"repliesCount":10,"author":{"__ref":"User:user:118099"},"depth":0,"hasGivenKudo":false,"board":{"__ref":"Forum:board:LoadNinja"},"conversation":{"__ref":"Conversation:conversation:250327"},"moderationData":{"__ref":"ModerationData:moderation_data:250327"},"postTime":"2023-05-15T07:48:16.481-07:00","lastPublishTime":"2023-05-15T07:48:16.481-07:00","readOnly":false,"metrics":{"__typename":"MessageMetrics","views":7881},"placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"entityType":"FORUM_TOPIC","eventPath":"category:LoadNinja/community:nwkab66374board:LoadNinja/message:250327"},"Conversation:conversation:250327":{"__typename":"Conversation","id":"conversation:250327","solved":true,"topic":{"__ref":"ForumTopicMessage:message:250327"},"lastPostingActivityTime":"2023-06-01T06:16:10.228-07:00","lastPostTime":"2023-06-01T06:16:10.228-07:00"},"ModerationData:moderation_data:250327":{"__typename":"ModerationData","id":"moderation_data:250327","status":"APPROVED","rejectReason":null},"RelatedContentMessage:RelatedContentMessage:250327":{"__typename":"RelatedContentMessage","id":"RelatedContentMessage:250327","relatedMessage":{"__ref":"ForumTopicMessage:message:250327"}},"User:user:89310":{"__typename":"User","id":"user:89310","uid":89310,"login":"abishekhari007","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2020-05-28T01:22:33.272-07:00","confirmEmailStatus":null,"registrationAccessLevel":null,"ssoRegistrationFields":[]},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.smartbear.com/t5/s/nwkab66374/m_assets/avatars/default/avatar-1.svg"},"rank":{"__ref":"Rank:rank:13"},"messagesCount":84,"kudosGivenCount":4,"kudosReceivedCount":28,"kudosWeight":1,"ssoId":null,"followersCount":null,"solutionsCount":9,"entityType":"USER","eventPath":"community:nwkab66374/user:89310"},"ForumTopicMessage:message:206182":{"__typename":"ForumTopicMessage","uid":206182,"subject":"Conversion of currency in testcomplete javascript","id":"message:206182","revisionNum":1,"repliesCount":2,"author":{"__ref":"User:user:89310"},"depth":0,"hasGivenKudo":false,"board":{"__ref":"Forum:board:testcomplete-questions"},"conversation":{"__ref":"Conversation:conversation:206182"},"moderationData":{"__ref":"ModerationData:moderation_data:206182"},"postTime":"2020-08-18T06:42:31.554-07:00","lastPublishTime":"2020-08-18T06:42:31.554-07:00","readOnly":false,"metrics":{"__typename":"MessageMetrics","views":923},"placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"entityType":"FORUM_TOPIC","eventPath":"category:TestComplete_forum/community:nwkab66374board:testcomplete-questions/message:206182"},"Conversation:conversation:206182":{"__typename":"Conversation","id":"conversation:206182","solved":true,"topic":{"__ref":"ForumTopicMessage:message:206182"},"lastPostingActivityTime":"2020-08-18T11:58:31.000-07:00","lastPostTime":"2020-08-18T11:58:31.000-07:00"},"ModerationData:moderation_data:206182":{"__typename":"ModerationData","id":"moderation_data:206182","status":"APPROVED","rejectReason":null},"RelatedContentMessage:RelatedContentMessage:206182":{"__typename":"RelatedContentMessage","id":"RelatedContentMessage:206182","relatedMessage":{"__ref":"ForumTopicMessage:message:206182"}},"User:user:83912":{"__typename":"User","id":"user:83912","uid":83912,"login":"aletsu","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2019-05-14T00:09:29.353-07:00","confirmEmailStatus":null,"registrationAccessLevel":null,"ssoRegistrationFields":[]},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.smartbear.com/t5/s/nwkab66374/m_assets/avatars/default/avatar-4.svg"},"rank":{"__ref":"Rank:rank:14"},"messagesCount":5,"kudosGivenCount":0,"kudosReceivedCount":0,"kudosWeight":1,"ssoId":null,"followersCount":null,"solutionsCount":1,"entityType":"USER","eventPath":"community:nwkab66374/user:83912"},"ForumTopicMessage:message:206523":{"__typename":"ForumTopicMessage","uid":206523,"subject":"Why TestComplete and TestExecute recognizes objects differently.","id":"message:206523","revisionNum":1,"repliesCount":5,"author":{"__ref":"User:user:83912"},"depth":0,"hasGivenKudo":false,"board":{"__ref":"Forum:board:testcomplete-questions"},"conversation":{"__ref":"Conversation:conversation:206523"},"moderationData":{"__ref":"ModerationData:moderation_data:206523"},"postTime":"2020-08-25T23:11:41.173-07:00","lastPublishTime":"2020-08-25T23:11:41.173-07:00","readOnly":false,"metrics":{"__typename":"MessageMetrics","views":1290},"placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"entityType":"FORUM_TOPIC","eventPath":"category:TestComplete_forum/community:nwkab66374board:testcomplete-questions/message:206523"},"Conversation:conversation:206523":{"__typename":"Conversation","id":"conversation:206523","solved":true,"topic":{"__ref":"ForumTopicMessage:message:206523"},"lastPostingActivityTime":"2020-09-02T03:04:26.413-07:00","lastPostTime":"2020-09-02T03:04:26.413-07:00"},"ModerationData:moderation_data:206523":{"__typename":"ModerationData","id":"moderation_data:206523","status":"APPROVED","rejectReason":null},"RelatedContentMessage:RelatedContentMessage:206523":{"__typename":"RelatedContentMessage","id":"RelatedContentMessage:206523","relatedMessage":{"__ref":"ForumTopicMessage:message:206523"}},"User:user:100722":{"__typename":"User","id":"user:100722","uid":100722,"login":"mbarbworldtrips","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2021-08-24T08:49:18.295-07:00","confirmEmailStatus":null,"registrationAccessLevel":null,"ssoRegistrationFields":[]},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.smartbear.com/t5/s/nwkab66374/m_assets/avatars/default/avatar-12.svg"},"rank":{"__ref":"Rank:rank:13"},"messagesCount":40,"kudosGivenCount":1,"kudosReceivedCount":7,"kudosWeight":1,"ssoId":null,"followersCount":null,"solutionsCount":9,"entityType":"USER","eventPath":"community:nwkab66374/user:100722"},"ForumTopicMessage:message:230933":{"__typename":"ForumTopicMessage","uid":230933,"subject":"Thales Sentinel not recognizing TestComplete 15 in list of Products","id":"message:230933","revisionNum":1,"repliesCount":11,"author":{"__ref":"User:user:100722"},"depth":0,"hasGivenKudo":false,"board":{"__ref":"Forum:board:testcomplete-questions"},"conversation":{"__ref":"Conversation:conversation:230933"},"moderationData":{"__ref":"ModerationData:moderation_data:230933"},"postTime":"2022-03-07T06:46:26.089-08:00","lastPublishTime":"2022-03-07T06:46:26.089-08:00","readOnly":false,"metrics":{"__typename":"MessageMetrics","views":1370},"placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"entityType":"FORUM_TOPIC","eventPath":"category:TestComplete_forum/community:nwkab66374board:testcomplete-questions/message:230933"},"Conversation:conversation:230933":{"__typename":"Conversation","id":"conversation:230933","solved":true,"topic":{"__ref":"ForumTopicMessage:message:230933"},"lastPostingActivityTime":"2022-03-14T10:57:50.938-07:00","lastPostTime":"2022-03-14T10:57:50.938-07:00"},"ModerationData:moderation_data:230933":{"__typename":"ModerationData","id":"moderation_data:230933","status":"APPROVED","rejectReason":null},"RelatedContentMessage:RelatedContentMessage:230933":{"__typename":"RelatedContentMessage","id":"RelatedContentMessage:230933","relatedMessage":{"__ref":"ForumTopicMessage:message:230933"}},"QueryVariables:TopicReplyList:message:84905:1":{"__typename":"QueryVariables","id":"TopicReplyList:message:84905:1","value":{"id":"message:84905","first":10,"sorts":{"kudosSumWeight":{"direction":"DESC","order":0},"postTime":{"direction":"ASC","order":1}},"repliesFirst":3,"repliesFirstDepthThree":1,"repliesSorts":{"kudosSumWeight":{"direction":"DESC","order":0},"postTime":{"direction":"ASC","order":1}},"useAvatar":true,"useAuthorLogin":true,"useAuthorRank":true,"useBody":true,"useKudosCount":true,"useTimeToRead":false,"useMedia":false,"useReadOnlyIcon":false,"useRepliesCount":true,"useSearchSnippet":false,"useAcceptedSolutionButton":true,"useSolvedBadge":false,"useAttachments":false,"attachmentsFirst":5,"useTags":true,"useNodeAncestors":false,"useUserHoverCard":true,"useNodeHoverCard":false,"useModerationStatus":true,"usePreviewSubjectModal":false,"useMessageStatus":true}},"ROOT_MUTATION":{"__typename":"Mutation"},"CachedAsset:text:en_US-components/nodes/NodeLink-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/nodes/NodeLink-1720711077000","value":{"place":"Place {name}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageView/MessageViewStandard-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageView/MessageViewStandard-1720711077000","value":{"anonymous":"Anonymous","author":"{messageAuthorLogin}","authorBy":"{messageAuthorLogin}","board":"{messageBoardTitle}","replyToUser":" to {parentAuthor}","showMoreReplies":"Show More","replyText":"Reply","repliesText":"Replies","markedAsSolved":"Marked as Solved","movedMessagePlaceholder.BLOG":"{count, plural, =0 {This comment has been} other {These comments have been} }","movedMessagePlaceholder.TKB":"{count, plural, =0 {This comment has been} other {These comments have been} }","movedMessagePlaceholder.FORUM":"{count, plural, =0 {This reply has been} other {These replies have been} }","movedMessagePlaceholder.IDEA":"{count, plural, =0 {This comment has been} other {These comments have been} }","movedMessagePlaceholder.OCCASION":"{count, plural, =0 {This comment has been} other {These comments have been} }","movedMessagePlaceholderUrlText":"moved.","messageStatus":"Status: ","statusChanged":"Status changed: {previousStatus} to {currentStatus}","statusAdded":"Status added: {status}","statusRemoved":"Status removed: {status}","labelExpand":"expand replies","labelCollapse":"collapse replies","unhelpfulReason.reason1":"Content is outdated","unhelpfulReason.reason2":"Article is missing information","unhelpfulReason.reason3":"Content is for a different Product","unhelpfulReason.reason4":"Doesn't match what I was searching for"},"localOverride":false},"CachedAsset:text:en_US-components/messages/ThreadedReplyList-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/ThreadedReplyList-1720711077000","value":{"title":"{count, plural, one{# Reply} other{# Replies}}","title@board:BLOG":"{count, plural, one{# Comment} other{# Comments}}","title@board:TKB":"{count, plural, one{# Comment} other{# Comments}}","title@board:IDEA":"{count, plural, one{# Comment} other{# Comments}}","title@board:OCCASION":"{count, plural, one{# Comment} other{# Comments}}","noRepliesTitle":"No Replies","noRepliesTitle@board:BLOG":"No Comments","noRepliesTitle@board:TKB":"No Comments","noRepliesTitle@board:IDEA":"No Comments","noRepliesTitle@board:OCCASION":"No Comments","noRepliesDescription":"Be the first to reply","noRepliesDescription@board:BLOG":"Be the first to comment","noRepliesDescription@board:TKB":"Be the first to comment","noRepliesDescription@board:IDEA":"Be the first to comment","noRepliesDescription@board:OCCASION":"Be the first to comment","messageReadOnlyAlert:BLOG":"Comments have been turned off for this post","messageReadOnlyAlert:TKB":"Comments have been turned off for this article","messageReadOnlyAlert:IDEA":"Comments have been turned off for this idea","messageReadOnlyAlert:FORUM":"Replies have been turned off for this discussion","messageReadOnlyAlert:OCCASION":"Comments have been turned off for this event"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageReplyCallToAction-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageReplyCallToAction-1720711077000","value":{"leaveReply":"Leave a reply...","leaveReply@board:BLOG@message:root":"Leave a comment...","leaveReply@board:TKB@message:root":"Leave a comment...","leaveReply@board:IDEA@message:root":"Leave a comment...","leaveReply@board:OCCASION@message:root":"Leave a comment...","repliesTurnedOff.FORUM":"Replies are turned off for this topic","repliesTurnedOff.BLOG":"Comments are turned off for this topic","repliesTurnedOff.TKB":"Comments are turned off for this topic","repliesTurnedOff.IDEA":"Comments are turned off for this topic","repliesTurnedOff.OCCASION":"Comments are turned off for this topic","infoText":"Stop poking me!"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/QueryHandler-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/QueryHandler-1720711077000","value":{"title":"Query Handler"},"localOverride":false},"CachedAsset:text:en_US-components/customComponent/CustomComponent-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/customComponent/CustomComponent-1720711077000","value":{"errorMessage":"Error rendering component id: {customComponentId}","bannerTitle":"Video provider requires cookies to play the video. Accept to continue or {url} it directly on the provider's site.","buttonTitle":"Accept","urlText":"watch"},"localOverride":false},"Rank:rank:4":{"__typename":"Rank","id":"rank:4","position":8,"name":"Community Expert","color":"333333","icon":null,"rankStyle":"TEXT"},"User:user:55302":{"__typename":"User","id":"user:55302","uid":55302,"login":"Philip_Baird","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2013-04-14T16:49:27.000-07:00","confirmEmailStatus":null,"registrationAccessLevel":null,"ssoRegistrationFields":[]},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.smartbear.com/t5/s/nwkab66374/m_assets/avatars/default/avatar-8.svg"},"rank":{"__ref":"Rank:rank:4"},"messagesCount":248,"kudosGivenCount":3,"kudosReceivedCount":201,"kudosWeight":1,"ssoId":null,"followersCount":null,"solutionsCount":30,"entityType":"USER","eventPath":"community:nwkab66374/user:55302","messagesCount:{\"solution\":{\"eq\":true},\"topicId\":{\"eq\":\"message:84905\"}}":248,"kudosGivenCount:{\"solution\":{\"eq\":true},\"topicId\":{\"eq\":\"message:84905\"}}":3,"kudosReceivedCount:{\"solution\":{\"eq\":true},\"topicId\":{\"eq\":\"message:84905\"}}":201,"solutionsCount:{\"solution\":{\"eq\":true},\"topicId\":{\"eq\":\"message:84905\"}}":30},"ModerationData:moderation_data:84909":{"__typename":"ModerationData","id":"moderation_data:84909","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"AcceptedSolutionMessage:message:84909":{"__typename":"AcceptedSolutionMessage","author":{"__ref":"User:user:55302"},"id":"message:84909","revisionNum":1,"uid":84909,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:testcomplete-questions"},"parent":{"__ref":"ForumTopicMessage:message:84905"},"conversation":{"__ref":"Conversation:conversation:84905"},"subject":"Re: TestComplete IDE not recognizing common JavaScript","moderationData":{"__ref":"ModerationData:moderation_data:84909"},"body":"
Hi Jerin, unfortunately you are correct, the Test Complete editor can only read till <ScriptName>.<Obj> and there is no way to configure it so it can.
In terms of patterns, I intially made the mistake of assuming the Test Complete JScript runtime was the same as a Web Browser, therefore I implemented a \"Class\" structure as I would have for a Browser application, e.g. namespaces and encapsulated Constructors and Modules.
As it turns out, the Test Complete run time is not like a Browser run time at all, from what I can work out, when a Script Unit is run, Test Complete seems to do the following:
1. Parses each Script Unit
2. Creates a singleton for each Script Unit
3. Each singleton then runs within its own sandbox, effectively making each Sript Unit a \"blackbox\" that can only interact via messaging, i.e. there is no overarching global object as you would find in a Browser
Point 3 can prove troublesome in that:
a. Any prototype augmentation (e.g. adding an indexOf method to Array (yes, the Test Complete JScript engine is that prehistoric)) only applies in the Script Unit it is defined in. In order to use an augmented object, a factory function must be provided by the defining Script Unit which other Script Units can call to get an instance of the augmented object.
b. Exception handling between Script Units sometimes works, depending on whether an Exception is raised in a Script Unit function or within a User object *sigh*.
I have attached a couple of Script Units that demonstrate this.
I recently gutted the entire Namespace structure and removed every Module bar one from our tests as it become a pain in the butt for others to develop with.
I still extensively use a similar user object pattern as yours, I just have to bite the bullet and rely on documentation and test developer ability instead of intellisense.
I now have the following basic patterns:
1. Any code I would normally encapsulate in a Closure based Module that would be considered a Static class in C# is now simply global within a Script Unit. The \"blackbox\" nature of the Test Complete run time provides enough differentiation between same named members in different Script Units, and as it is in house test code, the lack of privacy really isn't an issue. For the odd occasion where privacy is desired, I just define a simple Closure based Module with the private members and simple accessors that the public Script Unit functions can call.
2. Closure based Modules for a Singleton that represents an entity.
3. Instantiable Constructor based User Objects that represent test entities.
Hope this helps,
Phil
","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"220","kudosSumWeight":3,"repliesCount":0,"postTime":"2014-01-12T08:06:07.000-08:00","lastPublishTime":"2014-01-12T08:06:07.000-08:00","solution":true,"metrics":{"__typename":"MessageMetrics","views":2582},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"entityType":"FORUM_REPLY","eventPath":"category:TestComplete_forum/community:nwkab66374board:testcomplete-questions/message:84905/message:84909","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":200})@stringLength":"220","images":{"__typename":"AssociatedImageConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:84916":{"__typename":"ModerationData","id":"moderation_data:84916","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:84916":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:55302"},"id":"message:84916","revisionNum":1,"uid":84916,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:testcomplete-questions"},"parent":{"__ref":"ForumTopicMessage:message:84905"},"conversation":{"__ref":"Conversation:conversation:84905"},"subject":"Re: TestComplete IDE not recognizing common JavaScript","moderationData":{"__ref":"ModerationData:moderation_data:84916"},"body":"Appologies, the forum will not allow me to attach any files, here is the code:
SU1.sj
Array.prototype.indexOf = function( item )
{
for ( var j = 0; j < this.length; j++ )
{
if ( ( j in this ) && ( this[ j ] == item) ) return j;
}
return -1;
};
function ArrayFactory( init ) {
if( arguments.length === 1 ){
return new Array().concat( arguments[ 0 ] );
}
return new Array();
}
var ExceptionRaiser = function() {
return {
throwException: function() {
throw { name: \"Exception\" };
}
}
}();
function raiseException() {
throw { name: \"Exception\" };
}
function testArray() {
var x = [ 1, 2, 3, 4 ]
Log.Message( x.indexOf( 3 ) );
}
function testArray2() {
var x = ArrayFactory( [ 1, 2, 3, 4 ] );
Log.Message( x.indexOf( 3 ) );
}
function testException() {
try {
exceptionRaiser.throwException();
} catch( exObj ) {
Log.Message( \"Exception\" );
}
}
function testException2() {
try {
raiseException();
} catch( exObj ) {
Log.Message( \"Exception\" );
}
}
SU2.sj
//USEUNIT SU1
function testArray() {
var x = [ 1, 2, 3, 4 ]
Log.Message( x.indexOf( 3 ) );
}
function testArray2() {
var x = SU1.ArrayFactory( [ 1, 2, 3, 4 ] );
Log.Message( x.indexOf( 3 ) );
}
function testException() {
try {
SU1.ExceptionRaiser.throwException();
} catch( exObj ) {
Log.Message( \"Exception\" );
}
}
function testException2() {
try {
SU1.raiseException();
} catch( exObj ) {
Log.Message( \"Exception\" );
}
}
","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"211","kudosSumWeight":2,"repliesCount":0,"postTime":"2014-01-12T08:11:19.000-08:00","lastPublishTime":"2014-01-12T08:11:19.000-08:00","metrics":{"__typename":"MessageMetrics","views":2582},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:TestComplete_forum/community:nwkab66374board:testcomplete-questions/message:84905/message:84916","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"Rank:rank:29":{"__typename":"Rank","id":"rank:29","position":0,"name":"SmartBear Alumni (Retired)","color":"333333","icon":null,"rankStyle":"TEXT"},"User:user:1737":{"__typename":"User","id":"user:1737","uid":1737,"login":"TanyaYatskovska","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2014-01-28T08:31:10.000-08:00","confirmEmailStatus":null,"registrationAccessLevel":null,"ssoRegistrationFields":[]},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.smartbear.com/t5/s/nwkab66374/images/dS0xNzM3LTgzNzJpMUMzNUMwQTRFQzQ0RDIyMQ"},"rank":{"__ref":"Rank:rank:29"},"messagesCount":7849,"kudosGivenCount":0,"kudosReceivedCount":0,"kudosWeight":1,"ssoId":null,"followersCount":null,"solutionsCount":881,"entityType":"USER","eventPath":"community:nwkab66374/user:1737"},"ModerationData:moderation_data:84923":{"__typename":"ModerationData","id":"moderation_data:84923","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:84923":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:1737"},"id":"message:84923","revisionNum":1,"uid":84923,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:testcomplete-questions"},"parent":{"__ref":"ForumTopicMessage:message:84905"},"conversation":{"__ref":"Conversation:conversation:84905"},"subject":"Re: TestComplete IDE not recognizing common JavaScript","moderationData":{"__ref":"ModerationData:moderation_data:84923"},"body":"
Hi Jerin,
I can only add that, in our DB, there is a suggestion to update the script engine used by TestComplete at the moment. I've added your vote to it!
","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"194","kudosSumWeight":1,"repliesCount":0,"postTime":"2014-01-13T17:00:03.000-08:00","lastPublishTime":"2014-01-13T17:00:03.000-08:00","metrics":{"__typename":"MessageMetrics","views":2588},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:TestComplete_forum/community:nwkab66374board:testcomplete-questions/message:84905/message:84923","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:84920":{"__typename":"ModerationData","id":"moderation_data:84920","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:84920":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:52487"},"id":"message:84920","revisionNum":1,"uid":84920,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:testcomplete-questions"},"parent":{"__ref":"ForumTopicMessage:message:84905"},"conversation":{"__ref":"Conversation:conversation:84905"},"subject":"Re: TestComplete IDE not recognizing common JavaScript","moderationData":{"__ref":"ModerationData:moderation_data:84920"},"body":"Hey Phil,
Thank you for the detailed explanation and sharing details of the methodology you use. This answered so many of my other unasked questions as well, I really appreciate your input on this. SmartBear needs to increase the intellisense capabiliteis in their IDE if they plan on giving us such an older version of JavaScript.
For what its worth, I'm in the process of writing a framework for our automation testing from ground up and had to abandon 90% use of NameSpacing module. We have C# desktop applications, and the methodology I ended up using was saving property-value pair of process, grid, element, Hwnd etc. and using them with the Find() function to search for objects. I use these returned objects to search for child objects to apply final actions. This has worked for me so far and has helped me remove a huge amount of hard coding.
Regards,
Jerin","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"203","kudosSumWeight":0,"repliesCount":0,"postTime":"2014-01-13T00:59:50.000-08:00","lastPublishTime":"2014-01-13T00:59:50.000-08:00","metrics":{"__typename":"MessageMetrics","views":2586},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:TestComplete_forum/community:nwkab66374board:testcomplete-questions/message:84905/message:84920","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:84927":{"__typename":"ModerationData","id":"moderation_data:84927","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:84927":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:52487"},"id":"message:84927","revisionNum":1,"uid":84927,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:testcomplete-questions"},"parent":{"__ref":"ForumTopicMessage:message:84905"},"conversation":{"__ref":"Conversation:conversation:84905"},"subject":"Re: TestComplete IDE not recognizing common JavaScript","moderationData":{"__ref":"ModerationData:moderation_data:84927"},"body":"Thank you Tanya","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"15","kudosSumWeight":0,"repliesCount":0,"postTime":"2014-01-13T23:58:05.000-08:00","lastPublishTime":"2014-01-13T23:58:05.000-08:00","metrics":{"__typename":"MessageMetrics","views":2586},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:TestComplete_forum/community:nwkab66374board:testcomplete-questions/message:84905/message:84927","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"User:user:49987":{"__typename":"User","id":"user:49987","uid":49987,"login":"nicktulett","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2011-11-01T11:31:07.000-07:00","confirmEmailStatus":null,"registrationAccessLevel":null,"ssoRegistrationFields":[]},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.smartbear.com/t5/s/nwkab66374/m_assets/avatars/default/avatar-8.svg"},"rank":{"__ref":"Rank:rank:13"},"messagesCount":60,"kudosGivenCount":0,"kudosReceivedCount":31,"kudosWeight":1,"ssoId":null,"followersCount":null,"solutionsCount":2,"entityType":"USER","eventPath":"community:nwkab66374/user:49987"},"ModerationData:moderation_data:84931":{"__typename":"ModerationData","id":"moderation_data:84931","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:84931":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:49987"},"id":"message:84931","revisionNum":1,"uid":84931,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:testcomplete-questions"},"parent":{"__ref":"ForumTopicMessage:message:84905"},"conversation":{"__ref":"Conversation:conversation:84905"},"subject":"Re: TestComplete IDE not recognizing common JavaScript","moderationData":{"__ref":"ModerationData:moderation_data:84931"},"body":"From the screenshot it looks like you have 2 units with a global object called \"Obj\".
What are you expecting to happen?","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"126","kudosSumWeight":0,"repliesCount":0,"postTime":"2014-01-14T05:24:41.000-08:00","lastPublishTime":"2014-01-14T05:24:41.000-08:00","metrics":{"__typename":"MessageMetrics","views":2586},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:TestComplete_forum/community:nwkab66374board:testcomplete-questions/message:84905/message:84931","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:84935":{"__typename":"ModerationData","id":"moderation_data:84935","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:84935":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:52487"},"id":"message:84935","revisionNum":1,"uid":84935,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:testcomplete-questions"},"parent":{"__ref":"ForumTopicMessage:message:84905"},"conversation":{"__ref":"Conversation:conversation:84905"},"subject":"Re: TestComplete IDE not recognizing common JavaScript","moderationData":{"__ref":"ModerationData:moderation_data:84935"},"body":"Hey Nick,
Here is what my TestConfig Unit looks like
// Start TestConfig unit
Obj = {
SampleVariable = undefined;
SampleFunction: function SampleFunction( SampleParameter ) {
// some code
}
}
// End
Now if you look at my screenshot with this code in perspective, TestComplete IDE in line 24 and 25 should be able to list function and variables from TestConfig Unit.
So when I type the following (stop at the dot)
TestConfig.Obj.
TestComplete should show me a list of function and variable names from the TestConfig Unit. But it does not. This would be useful when my codebase has hundreds of functions. As of now, I will have to remember each functino or look them up when I need to call them. And once you add more than one developer, this would become even more difficult to manage.
If you take this code in any other IDE (IntelliJ, Netbeans or Eclipse) and try to write JavaScript/JScript code, this would work and the IDE would be able to list the underlying functions and variables from the TestConfig script. As Phil mentioned earlier, this is due to the fact that JScript Engine TestComplete IDE uses is quiet old and Tanya suggested they have added this concern to their list of upcoming enhancements. I hope this helps.","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"213","kudosSumWeight":0,"repliesCount":0,"postTime":"2014-01-14T05:42:39.000-08:00","lastPublishTime":"2014-01-14T05:42:39.000-08:00","metrics":{"__typename":"MessageMetrics","views":2583},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:TestComplete_forum/community:nwkab66374board:testcomplete-questions/message:84905/message:84935","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:84939":{"__typename":"ModerationData","id":"moderation_data:84939","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:84939":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:49987"},"id":"message:84939","revisionNum":1,"uid":84939,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:testcomplete-questions"},"parent":{"__ref":"ForumTopicMessage:message:84905"},"conversation":{"__ref":"Conversation:conversation:84905"},"subject":"Re: TestComplete IDE not recognizing common JavaScript","moderationData":{"__ref":"ModerationData:moderation_data:84939"},"body":"Right, I thought you meant the code wasn't running at all, not that it just wasn't being autocompleted.
Look on it as an exercise in memory training and using function names and parameters that are easy to remember...","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"203","kudosSumWeight":0,"repliesCount":0,"postTime":"2014-01-15T23:12:37.000-08:00","lastPublishTime":"2014-01-15T23:12:37.000-08:00","metrics":{"__typename":"MessageMetrics","views":2588},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:TestComplete_forum/community:nwkab66374board:testcomplete-questions/message:84905/message:84939","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"QueryVariables:MessageSolutions":{"__typename":"QueryVariables","id":"MessageSolutions","value":{"first":10,"constraints":{"topicId":{"eq":"message:84905"},"solution":{"eq":true}},"sorts":{"postTime":{"direction":"ASC"}},"useAvatar":true,"useAuthorLogin":true,"useAuthorRank":false,"useBody":true,"useKudosCount":false,"useTimeToRead":false,"useMedia":true,"useRepliesCount":false,"useSearchSnippet":false,"useAcceptedSolutionButton":true,"useSolvedBadge":false,"useAttachments":true,"useTags":false,"useUserHoverCard":true,"useNodeHoverCard":true,"usePreviewSubjectModal":false,"useMessageStatus":false}},"CachedAsset:text:en_US-components/messages/EscalatedMessageBanner-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/EscalatedMessageBanner-1720711077000","value":{"escalationMessage":"Escalated to Salesforce by {username} on {date}","viewDetails":"View Details","modalTitle":"Case Details","escalatedBy":"Escalated by: ","escalatedOn":"Escalated on: ","caseNumber":"Case Number: ","status":"Status: ","lastUpdateDate":"Last Update: ","automaticEscalation":"automatic escalation","anonymous":"Anonymous"},"localOverride":false},"CachedAsset:text:en_US-components/users/UserLink-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/users/UserLink-1720711077000","value":{"authorName":"View Profile: {author}","anonymous":"Anonymous"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/users/UserRank-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/users/UserRank-1720711077000","value":{"rankName":"{rankName}","userRank":"Author rank {rankName}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageTime-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageTime-1720711077000","value":{"postTime":"Published: {time}","lastPublishTime":"Last Update: {time}","conversation.lastPostingActivityTime":"Last posting activity time: {time}","conversation.lastPostTime":"Last post time: {time}","moderationData.rejectTime":"Rejected time: {time}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageSubject-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageSubject-1720711077000","value":{"noSubject":"(no subject)"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageBody-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageBody-1720711077000","value":{"showMessageBody":"Show More","mentionsErrorTitle":"{mentionsType, select, board {Board} user {User} message {Message} other {}} No Longer Available","mentionsErrorMessage":"The {mentionsType} you are trying to view has been removed from the community.","videoProcessing":"Video is being processed. Please try again in a few minutes.","bannerTitle":"Video provider requires cookies to play the video. Accept to continue or {url} it directly on the provider's site.","buttonTitle":"Accept","urlText":"watch"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageCustomFields-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageCustomFields-1720711077000","value":{"CustomField.default.label":"Value of {name}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageReplyButton-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageReplyButton-1720711077000","value":{"repliesCount":"{count}","title":"Reply","title@board:BLOG@message:root":"Comment","title@board:TKB@message:root":"Comment","title@board:IDEA@message:root":"Comment","title@board:OCCASION@message:root":"Comment"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageSolutionList-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageSolutionList-1720711077000","value":{"emptyDescription":"No has been message solutions yet"},"localOverride":false},"CachedAsset:text:en_US-components/messages/AcceptedSolutionButton-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/AcceptedSolutionButton-1720711077000","value":{"accept":"Mark as Solution","accepted":"Marked as Solution","errorHeader":"Error!","errorAdd":"There was an error marking as solution.","errorRemove":"There was an error unmarking as solution.","solved":"Solved"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageView/MessageViewInline-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageView/MessageViewInline-1720711077000","value":{"bylineAuthor":"{bylineAuthor}","bylineBoard":"{bylineBoard}","anonymous":"Anonymous","place":"Place {bylineBoard}","gotoParent":"Go to parent {name}"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/Pager/PagerLoadMore-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/Pager/PagerLoadMore-1720711077000","value":{"loadMore":"Show More"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/users/UserAvatar-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/users/UserAvatar-1720711077000","value":{"altText":"{login}'s avatar","altTextGeneric":"User's avatar"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/ranks/UserRankLabel-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/ranks/UserRankLabel-1720711077000","value":{"altTitle":"Icon for {rankName} rank"},"localOverride":false},"CachedAsset:text:en_US-components/attachments/AttachmentView/AttachmentViewChip-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/attachments/AttachmentView/AttachmentViewChip-1720711077000","value":{"errorTitle":"Failed!","previewFile":"Preview File","downloadFile":"Download File {name}","removeFile":"Remove File {name}","errorBadExtension":"This file does not have a valid extension. \"{extensions}\" are the valid extensions.","errorFileEmpty":"This file is empty or does not exist.","errorTooLarge":"The maximum file size is: {maxFileSize}.","errorTooMany":"Too many attachments. The maximum number of attachments per message is: {maxAttachmentCount, number, integer}.","errorDuplicate":"This file is already attached."},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/nodes/NodeIcon-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/nodes/NodeIcon-1720711077000","value":{"contentType":"Content Type {style, select, FORUM {Forum} BLOG {Blog} TKB {Knowledge Base} IDEA {Ideas} OCCASION {Events} other {}} icon"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageSolvedBadge-1720711077000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageSolvedBadge-1720711077000","value":{"solved":"Solved"},"localOverride":false}}}},"page":"/forums/ForumMessagePage/ForumMessagePage","query":{"boardId":"testcomplete-questions","messageSubject":"testcomplete-ide-not-recognizing-common-javascript","messageId":"84905"},"buildId":"OKtI0OLKuXmERTJKBVqYX","runtimeConfig":{"buildInformationVisible":false,"logLevelApp":"info","logLevelMetrics":"info","openTelemetryClientEnabled":false,"openTelemetryConfigName":"smartbear","openTelemetryServiceVersion":"24.11.0","openTelemetryUniverse":"prod","openTelemetryCollector":"http://localhost:4318","openTelemetryRouteChangeAllowedTime":"5000","apolloDevToolsEnabled":false},"isFallback":false,"isExperimentalCompile":false,"dynamicIds":["./components/seo/QAPageSchema/QAPageSchema.tsx","./components/community/Navbar/NavbarWidget.tsx","./components/community/Breadcrumb/BreadcrumbWidget.tsx","./components/messages/TopicWithThreadedReplyListWidget/TopicWithThreadedReplyListWidget.tsx","./components/messages/RelatedContentWidget/RelatedContentWidget.tsx","./components/messages/MessageListForNodeByRecentActivityWidget/MessageListForNodeByRecentActivityWidget.tsx","./components/customComponent/CustomComponent/CustomComponent.tsx","./components/messages/MessageView/MessageViewStandard/MessageViewStandard.tsx","./components/messages/ThreadedReplyList/ThreadedReplyList.tsx","../shared/client/components/common/List/UnstyledList/UnstyledList.tsx","./components/messages/MessageView/MessageView.tsx","./components/messages/MessageView/MessageViewInline/MessageViewInline.tsx","../shared/client/components/common/List/ListGroup/ListGroup.tsx","../shared/client/components/common/Pager/PagerLoadMore/PagerLoadMore.tsx","../shared/client/components/common/List/UnwrappedList/UnwrappedList.tsx","./components/attachments/AttachmentView/AttachmentView.tsx","./components/attachments/AttachmentView/AttachmentViewChip/AttachmentViewChip.tsx"],"appGip":true,"scriptLoader":[]}