我有两个页面对象元素:
images(:new_number, src: '/static/images/sec_core/plus.png')
text_fields(:users, class: 'custom-combobox-input ui-widget ui-widget-content ui-state-default ui-corner-left ui-autocomplete-input')
如果我使用以下代码,我可以使用它来点击HTML中图像列表的最后一张图像:
users_elements[user_index].parent.parent.parent[1].image_elements(:src => '/static/images/sec_core/plus.png').last.parent.when_present.click
不能以某种方式重复使用页面对象元素,作为一种方法"方法"为了避免重复代码,这与此类似:
users_elements[user_index].parent.parent.parent[1].new_number_elements.last.parent.when_present.click
答案 0 :(得分:1)
这里的答案很大程度上取决于您如何实现页面对象。如果您使用的是自己的代码,或Cheezy's Page-Object gem之类的图书馆,或Test-Factory gem Abe Heward和我在rSmart(Abe做了所有繁重的工作)时做饭了
我没有充分利用Cheezy的宝石来知道你是否可以在那里做到,但我已经定义了与使用页面工厂时类似的方法,这很容易做到(虽然文档没有给出好的例如,我应该解决这个问题)