perl-selenium: like () или $ sel-> like ()? - PullRequest
2 голосов
/ 28 марта 2011

Perl-Selenium также предоставляет стандартные методы Test :: More, такие как ok (), like (), is () и т. Д., Также как методы объекта, например, $sel->like().

($ sel - объект Perl селена)

Должны ли эти методы объекта использоваться вообще? Какой из них предпочтительнее?

Я озадачен, потому что like () и $ sel-> like в разных местах ведут себя по-разному. Здесь я предполагаю, что текст действительно найден на странице.

like( $found, qr /$text/, "found '$text' on page" ) ; # WORKS FINE

 # DOES NOT WORK, ERROR:    "doesn't look much like a regex to me."
$sel->like( $found, qr/$text/ , "found '$text' on page")

Так что кажется, что чистый метод like () предпочтительнее $ sel-> like ()?

1 Ответ

3 голосов
/ 28 марта 2011

Похоже, что Test :: WWW :: Selenium сам по себе не обеспечивает like метод, но скорее многие методы, такие как title_like или text_like.

, что дает нам

like( $found, qr /$text/, "found '$text' on page" );

или

$sel->text_like('id', qr/$text/, "found '$text' on page");

Редактировать: В доступен метод like Test :: WWW :: Selenium ,но при сбросе это выглядит так:

sub {
    my $tb = 'Test::More'->builder;
    return $tb->like(@_);
}

это означает, что, вызывая $sel->like(...), вы добавляете один дополнительный параметр ($sel) к вызову метода.Метод является остатком Test::Builder наследования и, вероятно, не должен использоваться напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...