perl Selenium::Remote::Driver使用

来源:互联网 发布:网络公开课英语作文 编辑:程序博客网 时间:2024/05/24 03:01

在用Selenium::Remote::Driver进行界面测试时,会发现perl Selenium::Remote::Driver和http://search.cpan.org/~gempesaw/Selenium-Remote-Driver-1.12/lib/Selenium/Remote/Driver.pm给出的方法不全面,也不能够达到测试全部功能的效果。其实在use Selenium::Remote::Driver这个模块的时候,还隐形的导入了Selenium::Remote::WebElement模块。

通过perldoc Selenium::Remote::WebElement可以查看其方法。

my $driver = Selenium::Remote::Driver->new(
                remote_server_addr => 'localhost',
                port               => 4444,
                browser_name       => 'firefox',
            );
            my $url = "https://$FIREWALL";
            $driver->get($url);
            $driver->maximize_window();
            $driver->switch_to_frame('authFrm');
            $driver->find_element('userName','name')->clear();
            $driver->find_element('pwd','name')->clear();
            $driver->find_element('userName','name')->send_keys($FIR_USER);
            $driver->find_element('pwd','name')->send_keys($FIR_PSW);
            $driver->find_element('Submit','name')->click();
            sleep 3;
            $driver->switch_to_window($driver->get_current_window_handle());
            $driver->switch_to_frame('outlookFrame');
            $driver->find_element('Network','link')->click();
            $driver->find_element('NAT Policies','link')->click();
            sleep 2;
            $driver->switch_to_window($driver->get_current_window_handle());
            $driver->switch_to_frame('tabFrame');
            $driver->find_element('addNatPolBtn','name')->click();
            sleep 1;
            
            $driver->switch_to_window($driver->get_window_handles()->[1]);
            $driver->find_element('labelIpType3','id')->click();
            
            my $origSrc = $driver->find_element("//select[\@id='origSrc']");
            $driver->find_child_element($origSrc, "./option[\@value='__create']")->click();//选择了下拉框中的某一项会打开一个新的网页,如果用send_keys只会选择,而不会打开新的一页
            sleep 1;
            $driver->switch_to_window($driver->get_window_handles()->[2]);
            $driver->find_element('noName', 'name')->send_keys("origSrc");
            $driver->find_element('zone', 'name')->send_keys("LAN");
            $driver->find_element('noType', 'name')->send_keys("Network");
            $driver->find_element('noIp1', 'name')->send_keys("$LAN_IPV6_NET");
            $driver->find_element('noIp2', 'name')->send_keys("$IPV6_PREFIXLEN");
            $driver->find_element('ok', 'name')->click();
            sleep 3; //这个时间要稍微长一点,否则上面另一页面添加的结果结束后,值不会填入这个下拉框里。
            $driver->switch_to_window($driver->get_window_handles()->[1]);


0 0
原创粉丝点击