Perl-Selenium还提供了Test :: More的标准方法,例如ok(),like(),is()等,也作为对象方法,例如$sel->like()
。
($ sel是selenium perl对象)
是否应该使用这些对象方法?哪一个更受欢迎?
我很困惑,因为喜欢()和$ sel->喜欢似乎在某些地方表现不同。 在这里,我假设文本确实在页面上找到。
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()更好?
答案 0 :(得分:3)
看起来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");
修改:Test::WWW::Selenium中有like
方法,但转储后,它看起来像这样:
sub {
my $tb = 'Test::More'->builder;
return $tb->like(@_);
}
这意味着通过调用$sel->like(...)
,您将向方法调用添加一个额外参数($sel
)。该方法是Test::Builder
继承的残余,它可能不应该直接使用。