Contributions
Re: How to cast custom controls as DevExpressXtraGrid controls
You might find using object mapping to be a better approach - you can map a custom object as the type of object you want to interact with. Additionally, the object tree you're inspecting in TestComplete is a UI Automation -based object tree, while the object tree in the TestLeft Object Spy pictured above is pure WinForms. You may get results more akin to what you're looking for if you use the UIAPattern search pattern, e.g. IWindow dxGridControl = driver.Find < IProcess > (new ProcessPattern() { ProcessName = "WT-ToolExport"}).Find < ITopLevelWindow > (new UIAPattern() { ObjectIdentifier = "DXSearchForm"}).Find < IWindow > (new UIAPattern() { ObjectIdentifier = "datagridBottomLayoutControl"}).Find < IWindow > (new UIAPattern() { ObjectIdentifier = "datagridPanelControl"}).Find < IWindow > (new UIAPattern() { ObjectIdentifier = "gridControl"}); ...or similar.12 months agoPlace TestLeft QuestionsTestLeft Questions512Views0likes1CommentRe: Testcomplete Vs testleft
To expand on what Claudio has said, while TestComplete and TestLeft are based on the same object recognition engine, that's as far as the similarities go. TestComplete is a complete solution for testing Desktop, Web or Mobile applications, manage object mappings, group codeless and scripted tests for execution and reporting, and integrates with a number of 3rd party technologies, e.g. Git, Jira, Azure DevOps etc. TestLeft is a toolkit to allow you to identify objects in your application, using the Object spy to point at them, and generate an object reference for Java or .NET. That's it. It's great for teams or individuals who are already managing their own visual object hierarchies, or have mature .NET or Java automated test frameworks in play, and don't want to acquire a tool that handles a lot of the work automatically. Hope that clarifies.12 months agoPlace TestLeft QuestionsTestLeft Questions544Views0likes0CommentsRe: How to compare images?
TestLeft doesn't include an image comparison function, so you would need to import and use some sort of image comparison toolkit, for example this Simple Image Comparison toolkit for .NET. I should point out that SmartBear do not support 3rd party applications or toolkits, but you may get help from their respective communities.12 months agoPlace TestLeft QuestionsTestLeft Questions1.9KViews0likes0CommentsRe: Your iOS application is linked to a static version of the TestComplete Agent library
Hi Yuriy, thanks for reaching out, With TestComplete's legacy mobile testing, it is only necessary to instrument that application in one of the following methods; - Using Xcode - Within TestComplete itself Since you've already instrumented the application, there's no need to try a second time. The error you're seeing -"Your iOS application is linked to a static version of the TestComplete Agent library" - is a result of that. Using "as is" is the correct procedure. As for the empty mobile screen - have you prepared the computer running TestComplete, and also the iPhone for mobile testing according to the following documented procedures? https://support.smartbear.com/testcomplete/docs/app-testing/mobile/legacy/ios/preparing/devices.html https://support.smartbear.com/testcomplete/docs/app-testing/mobile/legacy/ios/preparing/computers.html If so, we can dig into this further to see what may be going on. Finally, it may be worth looking into the newer method of testing mobile apps using Appium, since it gives a wider breadth of app capabilities that can be tested. It may work better in your case. Thanks and regards, Dermot Dermot414Views0likes0CommentsRe: Filter on tag of scenario outline example
Ah, I see. This is going to be a bit tricky in any automation framework since the tag isn't necessarily part of the input data for whatever routine is executed. There is a way to capture that in TestComplete however, using the Project.TestItems.Current object. Below is a way of evaluating a tag for a predetermined value and setting a temporary project variable of Boolean type, based on the tag itself; Given("some precondition", function (){ Log.Message(Project.TestItems.Current.ElementToBeRun.Caption); Log.Message("Store The Timings? " + aqString.StrMatches("examples2", Project.TestItems.Current.ElementToBeRun.Caption)); Project.Variables.Exporttimings = aqString.StrMatches("examples2", Project.TestItems.Current.ElementToBeRun.Caption); Log.Message("Executing First Step"); /* * Calls to Project.KeywordTests tests or Script functions go here */ }); ( I used JavaScript, but the concept would be the same for any of the supported languages in TestComplete ). If you're using anAfter Scenario Hookthat can evaluate the Project Variable, then you can perform the timing export just for that particular tag; AfterScenario(function (scenario){ // Perform some action after executing a scenario, for example: Log.Message("The " + scenario.Name + " scenario has been executed"); Log.Message("Return The Timings? " + Project.Variables.Exporttimings ); if (Project.Variables.ExportTimings){ exportTimings(Project.Variables.TimingData ); } }) This results in a Test Log that looks like this; and if we use the other tag, our test log looks like this; Do you think that may handle your requirements?1.5KViews3likes0CommentsRe: Filter on tag of scenario outline example
Hi, This should be possible. I tried running the following Gherkin Feature file specifically with either one tag or the other; Feature: TestingTags Scenario Outline: A description of your business scenario Given some precondition When an "<action>" is performed Then validate "<result>" @examples1 Examples: |action|result| |alice|result1| |bob|result2| |cariad|result3| @examples2 Examples: |action|result| |dermot|result4| |eve|result5| |fran|result6| I set up a Test Item for each tag in my Execution plan; Upon executing the Test Item for either tag, e.g. @example2, TestComplete used only the rows that corresponded with that tag. So, it should work in your use case, if you create a Test Item based on a tag or tag expression. Hope that helps.1.5KViews0likes2Comments