I ran into a situation when using interactors on a project where there were two instances of a component on screen. One that was inside a TabPane, and one that was not. Let's call the component C
The containment hierarchy was:
- Parent
- C()
- Tabs()
- C()
It is possible in this scenario to To interact with C(2) unambiguously, via:
But it is NOT possible to interact with C(1) unambiguously because there is no context you can specify in which C(2) is not also in that context.
There are a couple of workarounds:
- Create a filter on the DOM order, and use it to disambiguate
- Create
standalone filter on C() to see if it was in a tab pane, or not.
But these are not ideal because neither of these filters are stable over time.
Ideally, we'd like to have a "negative context" specifier to say that I want to interact with C not within the context of Tabs:
C().outside(Tabs()).click()
I ran into a situation when using interactors on a project where there were two instances of a component on screen. One that was inside a TabPane, and one that was not. Let's call the component
CThe containment hierarchy was:
It is possible in this scenario to To interact with
C(2)unambiguously, via:But it is NOT possible to interact with
C(1)unambiguously because there is no context you can specify in whichC(2)is not also in that context.There are a couple of workarounds:
standalonefilter onC()to see if it was in a tab pane, or not.But these are not ideal because neither of these filters are stable over time.
Ideally, we'd like to have a "negative context" specifier to say that I want to interact with
Cnot within the context ofTabs: