selenium的基本使用和常用API

目录

1 自动化测试

2 selenium介绍

3 selenium工作原理

4 简单脚本实现

5 元素的定位

 6 常用的操作测试对象的方法

7 添加等待

8 打印信息

9 浏览器操作


1 自动化测试

自动化测试(一般指功能测试)指软件测试的自动化,就是将人为驱动的测试行为转化成机器执行的过程。

  • 常见的自动化测试工具有:selenium、Rational Robot、QTP(功能自动化测试工具)、soapui(接口自动化工具)
  • 优点:减少重复测试的时间,实现快速回归测试;创建优良可靠地测试过程,减少人为错误
  • 实施自动化测试的前提:需求变动不频繁,项目周期足够长,自动化测试脚本可重复使用
  • 适合做自动化的项目:产品型项目;机械并繁重的测试
  • 如何实施自动化测试:分析(系统的核心体系架构)、设计(测试用例)、实现(脚本)、执行、总结(测试结果分析)

2 selenium介绍

selenium是ThroughtWorks公司的一个web自动化测试工具,它有以下优点:开源、小巧(只是一个安装包)、支持多语言(C\Java\Python\c#)、支持多平台(windows\linux\MAC)、支持多浏览器(ie\chrome\ff)、支持分布式测试用例的执行。

selenium已经从以前的版本1.0(RC)进化到了现在的selenium2(selenium1+WebDriver)。

3 selenium工作原理

启动浏览器,客户端给服务器端发送http请求,服务端依赖浏览器的组件,转化Web Service的命令为浏览器native的调用来完成操作。

4 简单脚本实现

#coding = utf-8#可加可不加,防止乱码
from selenium import webdriver#使用selenium的webdriver里的函数,首先把包导出来
bro = webdriver.Firefox()#指定需要操控的浏览器,也可以是ie\Chrome等
bro.find_element_by_id("kw").send_keys("selenium")#在输入框中输入selenium
bro.find_element_by_id("su").click()#点击按钮
bro.quit()#退出并关闭窗口中的每一个相关的驱动程序
bro.close()#关闭当前窗口

5 元素的定位

#8种识别元素的方式: id\name\class name\link text\partial link text\tag name\xpath\css selector

 下面来看一个简单的例子:

<input id="kw" class="s_ipt" type="text" maxlength="100" name="wd" 
autocomplete="off">

 

#coding=utf-8
from selenium import webdriver
import time
bro = webdriver.Chrome()
bro.get("http://www.baidu.com")
###############百度输入框的定位方式#########
#通过id方式定位
bro.find_element_by_id("kw").send_keys("selenium")
#通过name方式定位
bro.find_element_by_name("wd").send_keys("selenium")
#通过tag name方式定位
bro.find_element_by_tag_name("input").send_keys("selenium")##不能成功,因为input太多了,不唯一
#通过class name方式定位
bro.find_element_by_class_name("s_ipt").send_keys("selenium")
#通过css方式定位
bro.find_element_by_css_selector("#kw").send_keys("selenium")
#通过xpath方式定位
bro.find_element_by_xpath("//*[@id='kw']").send_keys("selenium")
#通过link text方式定位,是一个完整的文字链接
bro.find_element_by_link_text("hao123").send_keys("selenium")
#通过partial link text方式定位,通过部分链接定位
bro.find_element_by_partial_link_text("hao").send_keys("selenium")

 6 常用的操作测试对象的方法

click鼠标点击对象
send_keys在对象上模拟按键(键盘)输入
clear清除对象的内容,如果可以的话
submit提交对象的内容,如果可以的话
text用于获取元素的文本信息
eg:
dri = webdriver.Chrome()
dri.get("http://www.baidu.com")
time.sleep(2)#休眠2秒
dri.find_element_by_id("kw").clear()
dri.find_element_by_id("kw").submit()  
#id = cp
data = dri.find_element_by_id("cp").text
print data #打印信息

7 添加等待

impotr time
#固定时间等待
time.sleep(3)
#智能时间等待
bro = webdriver.Chrome()
bro.implicitly_wait(30)#智能等待30秒

8 打印信息

bro = webdriver.Chrome()
print bro.title#把页面的title打印出来
print bro.current_url#打印url

9 浏览器操作

bro = webdriver.Chrome()
#访问百度首页
first_url = 'http://www.baidu.com;
#访问新闻网页
second_url = 'htto://news.baidu.com'
####浏览器最大化
bro.maximize_window()
####设置浏览器宽、高
bro.set_window_size(480,800)#设置浏览器宽480、高800显示
####浏览器的前进、后退
bro.get(first_url)
bro.get(second_url)
bro.back()#后退
bro.forward()#前进
####控制浏览器滚动条
#将页面滚动条移动到页面的底部
js = "var q=documentElement.scrollTop=10000"
bro.execute_script(js)#在当前窗口中执行js代码
#将页面滚动条移动到页面的顶部
js = "var q=documentElement.scrollTop=0"
bro.execute_script(js)
####鼠标事件
context_click()#右击
double_click()#双击
drag_and_drop()#拖动
move_to_element()#拖动

 

  • 27
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值