Skip to content

WPF window structure caching & reload #228

Open
@Marcinosky

Description

@Marcinosky

Hi,

My team and I have been fighting issues with Robots implementation for a long time now, and we got a final word from a dev that our blocking issue is not on their side, its FlaUIs inherent faults. Its hard for me to believe anyone uses this framework with such gaping holes, so my thoughts are we're doing something wrong. There is a lot to go wrong, since we're bypassing Robot syntax entirely and focusing on just python code executed by robot (single start test keyword).

The issue is with how FlaUI handles dynamic windows, we believe. We have multiple examples of this but i'll focus on just one. We open a dialog, and all of it's contents show in FlaUIInspect(using stable)

Image

but if any of our actions result in adding additional objects to the dialog, those won't show up in inspect even after restarting the inspect tool.

Image

(fun fact, while doing this screenshot it did show up once, and i couldn't reproduce my steps to how i got it to show since, figures)

I tried reloading the objects with

def reload_objects(self):
---self.container = AutomationInterfaceContainer(30, "UIA3")
---self.app = ApplicationKeywords(self.container)
---self.window = WindowKeywords(self.container)
---self.element = ElementKeywords(self.container)
---self.keyboard = KeyboardKeywords(self.container)
---self.property = PropertyKeywords(self.container)
---self.checkbox = CheckBoxKeywords(self.container)
---self.combobox = ComboBoxKeywords(self.container)
---self.mouse = MouseKeywords(self.container)
---self.radiobutton = RadioButtonKeywords(self.container)
---self.tree = TreeKeywords(self.container)

But that doesn't fix the issue. Snoop and TestComplete has no problems finding the elements.

I found issue #79 and its commits that played around with enabling and reloading cache, but i think that didn't work just like my reload, either way it didn't make the cut to release.

Very thankful for any pointers, im very new to robot

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions