【发布时间】:2017-09-25 09:58:03
【问题描述】:
我正在尝试为网站开发测试。通常,它会进入主页,点击搜索按钮到结果页面,点击第一个链接到产品页面。
但是,有时在加载第一页时,会弹出一个对话框,询问用户他们的位置以显示更好的内容。
我对 Selenium 比较陌生,但我对此进行了大量研究,但似乎无法找到正确的答案。也许我只是不知道要搜索什么。
我该如何做一个条件,如果弹出框,单击第一个选项,然后以任何一种方式检查通常会出现的页面内容?
请注意,我确实知道如何测试元素等,但我只是不明白如何执行条件位。另外,如果这有什么不同,我会在之后将它导出到 Perl。
提前致谢!
编辑:这是原样的脚本。
use strict;
use warnings;
use Time::HiRes qw(sleep);
use Test::WWW::Selenium;
use Test::More "no_plan";
use Test::Exception;
use TimePerf2;
my $time= TimePerf2->new(60,90,120);
my $sel = Test::WWW::Selenium->new( host => "my_lan_ip",
port => 4444,
browser => "*firefox",
browser_url => "https://www.website.com/" );
$time->startTime("ALL");
$sel->set_timeout_ok("120000");
if ( ! $sel->open_ok("https://www.website.com/") ) {print "Location: " . $sel->get_location() . "\n";}
elsif ( ! $sel->set_speed("1500") ) { }
elsif ( ! $sel->click_ok("id=btnSearch") ) {print "Location: " . $sel->get_location() . "\n";}
elsif ( ! $sel->wait_for_page_to_load_ok("120000") ) {}
elsif ( ! $sel->is_element_present_ok("css=div.azi_result") ) {print "Location: " . $sel->get_location() . "\n";}
elsif ( ! $sel->click_ok("css=p.description a") ) {print "Location: " . $sel->get_location() . "\n";}
elsif ( ! $sel->wait_for_page_to_load_ok("120000") ) {}
elsif ( !$time->endTime("ALL") ) { }
else { $time->getTimes(); }
$sel->stop();
【问题讨论】:
标签: selenium firefox selenium-ide