Perl-Selenium 还提供了 Test::More 的标准方法,例如 ok()、like()、is() 等,也提供了对象方法,例如$sel->like()
。
($sel 是 selenium 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() 更好?
最佳答案
看起来像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
继承的残余,可能不应该直接使用。
关于perl- Selenium : like() or $sel->like()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5458467/