Open robisenberg opened 7 years ago
It's the same with Ruby 2.3.3.
@robisenberg, the answer to this one is a bit complicated but essentially it is down to a bug that occurred in ruby 2.3.
PageMagic::Elements
makes use of the __callee__
method. This is used to record the kind of element a developer is declaring in their page class.
All methods that are used to declare page elements, e.g. text_field, select_list etc..., are are aliases of the PageMagic::Elements#element
method and __callee__
should return the aliased name when the aliases are invoked. However, due to the bug mentioned above, the name returned is always element
and in the tests, where it is a different kind of element that has been defined, this causes an invalid query to be built and executed against the browser. This in turn results in the Nokogiri error that you are seeing above. The last of the failing tests is also highlighting the problem by resolving the wrong type of Element.
In summary, I think the recommendation is to steer clear of this ruby version and use one in which the bug is not present. E.g. < 2.2 or > 2.4.
If you agree, we could add a release note to the readme or something and close this issue?
Summary
Using Ruby 2.3.1, when I run the specs with:
I get 7 failures as follows (full output below.) Am I doing something wrong?
I will try with Ruby 2.3.3 which Circle CI seems to be using, but still, I wouldn't expect that to make any difference. I wanted to make some changes, but don't want to start when tests are not passing.
Failing spec output