`
luolonghao
  • 浏览: 118082 次
  • 性别: Icon_minigender_1
  • 来自: Shanghai
社区版块
存档分类
最新评论

webdriver 自动化测试

 
阅读更多
Selenium 是最流行的自动化测试工具,提供一整套的解决方案,其中webdriver remote方式比较灵活,浏览器可以指定本地或远程。部署也简单,在浏览器端运行java服务,客户端测试用例可以用 Java、Ruby、PHP、Python 编写。

测试服务器:

下载地址: http://selenium.googlecode.com/files/selenium-server-standalone-2.20.0.jar

java -jar selenium-server-standalone-2.20.0.jar


Ruby:

Ruby使用watir-webdriver接口。

测试代码:

require "watir-webdriver"
require "selenium/webdriver/remote/capabilities"

browser = Watir::Browser.new :remote, :url => "http://localhost:4444/wd/hub", :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.chrome

browser.goto("www.tudou.com")

browser.text_field(:id => 'email').set 'test'
browser.text_field(:id => 'pwd').set '1234'

browser.button(:class => 'lg_b').click

puts browser.text.include? 'SHH'

browser.li(:id, "myTudouNav").fire_event("onmouseover")

browser.a(:xpath, ".//*[@id='myTudouNav']/div/ul/li[12]/a").click

puts browser.text.include? 'SHH'

js = <<JS
	$('.logo').css('border', '1px solid red');
JS

browser.execute_script js

browser.close


安装watir-webdriver:

1. 安装ruby 1.9.3。下载地址:http://rubyinstaller.org/downloads/

2. 安装watir-webdriver。

    > gem update --system --no-rdoc --no-ri
    > gem install watir-webdriver --no-rdoc --no-ri

4. 安装chromedriver,用于支持chrome。 下载地址:http://code.google.com/p/chromedriver/downloads/list

PHP:

PHP使用facebook的php-webdriver接口。

测试代码:

require_once 'php-webdriver/__init__.php';

$wd_host = 'http://localhost:4444/wd/hub';
$web_driver = new WebDriver($wd_host);

$session = $web_driver->session('chrome');

$session->open('http://www.tudou.com');

$session->element('css selector', '#email')->value(array('value' => str_split('test')));
$session->element('css selector', '#pwd')->value(array('value' => str_split('1234')));

$session->element('css selector', '.lg_b')->click('');

echo preg_match('/SSH/s', $session->source()) ? 'ok' : 'error';

$element = $session->element('id', "myTudouNav");
$session->moveto(array('element' => $element->getID()));

$session->element('xpath', ".//*[@id='myTudouNav']/div/ul/li[12]/a")->click('');

$script = <<<JS
$('.logo').css('border', '1px solid red');
JS;
$session->execute(array(
	'script' => $script,
	'args' => array(),
));

$session->close();


php-webdriver 下载地址:https://github.com/facebook/php-webdriver

Python:

测试代码:

from selenium import webdriver
from selenium.webdriver.remote.command import Command
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

browser = webdriver.Remote('http://localhost:4444/wd/hub', DesiredCapabilities.CHROME);

browser.get("http://www.tudou.com/");

browser.find_element_by_css_selector("#email").send_keys("test")
browser.find_element_by_css_selector("#pwd").send_keys("1234")

browser.find_element_by_css_selector("input.lg_b").click()

element = browser.find_element_by_css_selector("#myTudouNav")
browser.execute(Command.MOVE_TO, {'element': element.id})

browser.find_element_by_xpath(".//*[@id='myTudouNav']/div/ul/li[12]/a").click()

js = "$('.logo').css('border', '1px solid red');";
browser.execute_script(js)

browser.close()


selenium python安装方法:easy_install –U selenium


参考文档(有些网站需要翻X):

http://openqa.org/
http://seleniumhq.org/
http://watir.com
https://github.com/watir/watir-webdriver
http://code.google.com/p/selenium/

http://17test.info/
http://www.ibm.com/developerworks/cn/java/j-lo-rubytesting/
http://www.ibm.com/developerworks/cn/opensource/os-cn-watir/

http://www.facebook.com/notes/facebook-engineering/watir-to-webdriver-unit-test-frameworks/10150314152278920
http://itreallymatters.net/post/10991877834/facebook-watir-and-testing

淘宝automan介绍:
http://qa.taobao.com/wp-content/uploads/2011/06/AutomanUserMenuZH-CN.pdf

JsonWire协议:
http://code.google.com/p/selenium/wiki/JsonWireProtocol#Command_Reference
分享到:
评论
4 楼 ungydwq 2016-04-12  
Selenium自动化测试实战
http://pan.baidu.com/s/1hqlLUCW 密码:15ps
3 楼 ungydwq 2016-04-12  
Selenium Webdriver自动化测试设计视频课程

下载地址:http://pan.baidu.com/s/1pKFiEb5 密码:e0so

    Selenium webdriver 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。
    Webdriver是对Selenium 1.x已提供API的完善。Selenium是当前Web产品应用自动化测试最为广泛的开源自动化测试工具,特别在国内非常受广大企业的推崇,在智联,51job,中华英才网中有巨大的人才需求。如今企业都需要测试人员具有一定的开发技能,该课程无疑是测试工程师进阶到测试开发工程师的最佳实践。
    本课程在兼顾webdriver课程知识体系完善的前提下,把实际开发中应用最多、最深、最实用的技术抽取出来,通过本课程学习,你将深入了解webdriver的使用方法和精髓,并通过webdirver的架构设计思想,理解整个自动化测试的架构设计思想。

01.webdriver基础1
02.webdriver基础2
03.webdriver API1
04.webdriver API2
05.webdriver API3
06.自动化架构设计1
07.自动化架构设计2
2 楼 luolonghao 2013-01-10  
yaogang7321 写道
请问webDriver测试https网站的时候,由于证书问题不能获取到页面的元素,这个问题如何解决呢 谢谢


HTTPS没做过,抱歉。
1 楼 yaogang7321 2013-01-10  
请问webDriver测试https网站的时候,由于证书问题不能获取到页面的元素,这个问题如何解决呢 谢谢

相关推荐

Global site tag (gtag.js) - Google Analytics