Open tlconnor opened 8 years ago
Can you add tests? I tried to reproduce this in an existing selenium test for a simple project and wasn't been able to, so I think there is more to it than what was described above.
@rmacklin you are right, the root cause of the flakiness was something else. The fix I've made is still valid as the failing inspect
call would hide the real error.
I've added unit tests for the fix.
I'm still not totally clear on the root issue here. But if this is limited to Minitest::Assertions#assert_predicate
assertions, did you see this comment in the file you linked in the original PR description (before you edited it)? Seems like overriding that method in a minitest extensions module would be smaller in scope than globally changing how inspect
and to_s
behave, which is technically a breaking change.
Seems like a pretty good improvement. I think things would become even cleaner if we collapsed ElementProxy
into Element
altogether: https://github.com/appfolio/ae_page_objects/issues/127#issuecomment-106092730
When
assert_predicate
assertions failMinitest
will inspect the target object as part of the error message generation.Currently AePageObjects will pass the
inspect
call on to theElement
which will attempt to load the DOM element and will result inAePageObjects::LoadingElementFailed
being thrown.This PR allow
inspect
to be called onElementProxy
objects where the DOM element is absent without throwing an error.