Web自动化工具——Selenium

一、Selenium简介

Selenium是一个用于Web应用程序测试的工具
Selenium测试直接运行在浏览器中,就像真正的用户在操作一样
支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等

二、Selenium主要功能

测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上
测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本

三、Selenium的优点

Selenium 测试直接在浏览器中运行,就像真实用户所做的一样
Selenium 测试可以在 Windows、Linux 和 Macintosh上的 Internet Explorer、Chrome和 Firefox 中运行

四、Selenium测试脚本

通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序。通过在不同浏览器中运行测试,更容易发现浏览器的不兼容性
Selenium 的核心,也称browser bot,是用 JavaScript 编写的。这使得测试脚本可以在受支持的浏览器中运行。browser bot 负责执行从测试脚本接收到的命令,测试脚本要么是用 HTML 的表布局编写的,要么是使用一种受支持的编程语言编写的

五、Selenium基础使用方法

5.1 声明浏览对象

from selenium import webdriver
#构造模拟浏览器
 firefox_login=webdriver.Ie()   # Firefox()
firefox_login=webdriver.Chrome()
这一步可设定无界面模式,即操作浏览器时,隐层浏览器

options = webdriver.ChromeOptions()
options.add_argument('--headless')      # 设置无界面  可选

firefox_login=webdriver.Chrome(chrome_options=options)

5.2 访问页面

firefox_login.get('http://www.renren.com/')
firefox_login.maximize_window()  # 窗口最大化,可有可无,看情况
firefox_login.minimize_window()

5.3 查找元素并交互

firefox_login.find_element_by_id('email').clear()
firefox_login.find_element_by_id('email').send_keys('xxx@sina.com')

5.4 操作浏览器

#导入 webdriver
from selenium import webdriver

#要想调用键盘按键操作需要引入keys包
from selenium.webdriver.common.keys import Keys

#调用环境变量指定的PhantomJS浏览器创建浏览器对象
driver = webdriver.PhantomJS()

#如果没有在环境变量指定PhantomJS位置
#driver = webdriver.PhantomJS(executable_path="./phantomjs"))

#get方法会一直等到页面被完全加载,然后才会继续程序,通常测试会在这里选择 time.sleep(2)
driver.get("http://www.baidu.com/")

#获取页面名为 wrapper的id标签的文本内容
data = driver.find_element_by_id("wrapper").text

#打印数据内容
print data

#打印页面标题 "百度一下,你就知道"
print driver.title

#生成当前页面快照并保存
driver.save_screenshot("baidu.png")

#id="kw"是百度搜索输入框,输入字符串"长城"
driver.find_element_by_id("kw").send_keys(u"马云")

#id="su"是百度搜索按钮,click() 是模拟点击
driver.find_element_by_id("su").click()

#获取新的页面快照
driver.save_screenshot("马云.png")

#打印网页渲染后的源代码
print driver.page_source

#获取当前页面Cookie
print driver.get_cookies()

#ctrl+a 全选输入框内容
driver.find_element_by_id("kw").send_keys(Keys.<
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试小姐姐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值