selenium_rc+perl

上一篇 / 下一篇  2013-08-06 09:52:39 / 个人分类:自动化测试工具-QTP

use WWW::Selenium;
use Win32::OLE;
use Encode;

my $sel = WWW::Selenium->new( 
        host => "localhost",
        port => 4444,
        browser => '*googlechrome C:\Program Files (x86)\Google\Chrome\Application\chrome.exe',
        browser_url => "http://www.xlbuy365.com/",
);

$sel->start;

$sel->set_timeout(100000);

$sel->open("http://www.xlbuy365.com/");

$sel->wait_for_page_to_load(30000);

if ($sel->is_element_present("//a[\@class='register']")) {
        print "register is here\n";
        $sel->click("//a[\@class='register']");
}

sleep 5;

my $autoit = Win32::OLE->new("AutoItX3.Control") or die "AutoIT dll not installed\n";
$autoit->AutoitSetOption("WinTitleMatchMode", 2);
$autoit->WinActivate('Google Chrome'); #激活窗口,因为AutoIT的操作都需要焦点。

my $username = 'selenium-123cew112@qq.com';
my $pw = '123123123';

$sel->type('//input[@id="r_userName"]', $username);
sleep 2;

#密码是Tpye方法写不进去的,可能是Chrome的保护机制。
#所以就用TAB+Send的方法。

$autoit->Send("{TAB 3}");
$autoit->Send($pw);
$autoit->Send("{TAB}");
$autoit->Send($pw);

sleep 2;

$autoit->Send("{TAB 20}"); #发送 20个TAB,循环一边文本框,用来激活所有文本框的检查。

#点击注册。
$sel->click("//a[\@id='registerBtn']");

sleep 10;

#检查,取注册后的名字,对比一下。
my $s1 = $sel->get_text('//div[@class="top-mini-menu"]/ul/li');

my $s2 = encode( 'gbk', $s1 );
print $s2,"\n";

$username =~ /(.*)@/;
my $part = $1;

if ($s2 =~ /$part/) {
        print "Register Successful!\n";
}
else {
        print "Failed\n";
}


sleep 1111;

TAG:

 

评分:0

我来说两句

日历

« 2024-05-15  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 79852
  • 日志数: 15
  • 建立时间: 2013-01-04
  • 更新时间: 2013-09-27

RSS订阅

Open Toolbar