Perl 将参数传递给Test::Class设置方法
我需要在selenium中动态调用浏览器Perl 将参数传递给Test::Class设置方法,perl,testing,automation,Perl,Testing,Automation,我需要在selenium中动态调用浏览器 要实现这一点,我需要将浏览器名称作为参数发送到Test::Class中的设置或启动方法。如何实现这一点?我认为您希望获得一个浏览器,然后在一些测试中重用它,然后在以后销毁它?因此,只需使用一个全局文件来保存您创建的浏览器。例如: my $browser = ''; sub b_connect : Test(startup) { $browser = WWW::Selenium->new( host => "localhost",
要实现这一点,我需要将浏览器名称作为参数发送到
Test::Class
中的设置或启动方法。如何实现这一点?我认为您希望获得一个浏览器,然后在一些测试中重用它,然后在以后销毁它?因此,只需使用一个全局文件来保存您创建的浏览器。例如:
my $browser = '';
sub b_connect : Test(startup) {
$browser = WWW::Selenium->new( host => "localhost",
port => 4444,
browser => "*iexplore",
browser_url => "http://www.google.com",
);
};
sub b_disconnect : Test(shutdown) {
$browser->close()
};
只需在测试中使用$browser变量
sub startup : Test( startup ) {
my ($self) = @_;
my $arg = shift;
$self->{browser_type} = $arg->{browser};
-------------------------------#some other code for myself
$self->{browser} =
Test::WWW::Selenium->new(
host => $self->{host},
port => $self->{port},
browser => $self->{browser_type},
browser_url => $self->{test_url},
);
在我的测试脚本中,我需要使用以下命令调用它
my $t1 = Test::Class::Selenium::TestCases->new(browser=>$browser,);
Test::Class->runtests($t1);
否。我以数组的形式传递浏览器列表,并为作为参数传递的每个浏览器执行启动