使用page-object gem的复数形式的元素

时间:2016-09-15 13:14:53

标签: ruby selenium page-object-gem

我需要识别表中的行数,但我总是得到(NoMethodError)。

这是row元素:

angular.module('exceptionHandlingApp')
     .config(function($provide) {
         $provide.decorator('$exceptionHandler', 
             ['$delegate', 'toastr', function extendExceptionHandler($delegate, toastr) {
                  return function (exception, cause) {
                       exception.message = '[Error: ]' + exception.message;

                       // Use toastr service to show toastr msg.

                       toastr.pop({
                          type: 'error',
                          title: exception.message
                       });

                       $delegate(exception, cause);
                  };
            }]);
     });

我打电话的时候:

row :purchases_table_row, css: ".purchases tbody tr

我得到了一个很好的答案,元素就在那里:

puts on(DashboardPage).purchases_table_row_element

当我打电话

#<PageObject::Elements::TableRow:0x007fd92b8420e0>

我明白了:

puts on(DashboardPage).purchases_table_row_elements

我正在使用selenium webdriver(尝试使用没有运气的watir),页面对象。根据此链接https://jkotests.wordpress.com/2013/06/24/defining-element-collections-using-the-page-objects-gem/

定义purchases_table_row_element s 应该做的。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

方法glDrawRangeElements仅在使用复数形式的访问者时定义。换句话说,purchases_table_row_elements需要row

rows