Selenium 自动化测试工具介绍
今天我们来介绍下 Selenium 自动化测试工具并借助该工具完成一个简单的案例,这个案例和笔者的工作相关,也算挺有意思的。
1. Selenuim 介绍与使用
Selenium 是一个用于 Web 应用程序自动化测试工具,提供一系列的测试函数。这些函数非常灵活,能够完成界面元素定位、窗口跳转、结果比较。Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。该自动化测试工具具有如下几个鲜明的特点:
- 支持多种浏览器:IE、Firefox、Safari、Chrome 等主流浏览器都是支持的;
- 支持多种变成语言:支持主流的编程语言,如 Java、Python、Ruby、PHP 等;
- 支持多种操作系统:如 Windows、Linux、IOS 以及 Android 等;
- 开源免费:selenuim 在 github 上进行了开源,star 和 fork 数都彰显了该项目的流行度。Selenium框架由多个工具组成,包括:Selenium IDE,Selenium RC,Selenium WebDriver和SeleniumRC。
我们直接来在使用 Python 操作 Selenuim:
安装 selenium 模块:pip install selenium -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
;
接下来,我们要使用 Google 浏览器完成 selenium 的自动化操作,因此需要安装相应的 webdriver。对应 Google 浏览器的 webdriver 的下载地址为:下载。找到对应的 Chrome driver 版本,下载即可:
本地 chrome 版本查看
选择 webdriver 版本
下载了 webdriver 包后解压得到 chromedriver.exe
,将其放到和 Chrome 浏览器相同的路径下:
解压chromedriver包,将exe文件放到chrome的目录下去 接下来将上面的这个路径添加到系统变量 Path 中去,确保能找到 chromedriver.exe 这个文件:
添加 chromedriver.exe 所在目录到Path变量中去
接下来,我们完成一段简单的 Selenium 自动化测试代码,帮助我们更好的理解 Selenium 这个工具:
"""
selenium工具测试
"""
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome()
# 请求百度页面
driver.get("https://www.baidu.com")
# 找到输入框位置
input = driver.find_element_by_id("kw")
# 输入"慕课网 wiki宝典"
input.send_keys("慕课网 wiki宝典")
# 找到<百度一下>按钮
button = driver.find_element_by_id("su")
# 点击
button.click()
# 直到出现分页元素
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "page"))
)
# 找到搜索内容的第一条结果
wiki_page = driver.find_element_by_xpath('//div[@id="content\_left"]/div[1]/h3/a')
# 点击跳转到慕课网的wiki页面
wiki_page.click()
上面的代码比较简单,我们只需要了解下 selenium 工具提供的基本函数就能够理解,代码中已经做好了相关注释,我们直接来运行看看效果如何: