目录
一、Selenium
二、环境部署
三、代码示例
一、Selenium
1.1介绍
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。
这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。
测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本
1.2功能
- 框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序。
- 使浏览器兼容性测试自动化成为可能,尽管在不同的浏览器上依然有细微的差别。
- 使用简单,可使用Java,Python等多种语言编写用例脚本。
1.3优势
二、环境部署
2.1需求实现
工作需要实现一个网页自动登录的操作,决定使用selenium+python实现
selenium 是一个web的自动化测试工具,主流一般配合java或者python使用,
我这里使用的是python,可支持的浏览器基本包括所有主流浏览器IE、Mozilla Firefox、Google Chrome。
2.2环境配置(python+selenium+webdriver)
2.2.1python安装
直接在官网下载python安装包,
https://www.python.org/ftp/python/3.7.3/python-3.7.3-amd64.exe
安装后查看版本信息
> python
Python 3.6. |Anaconda, Inc.| (default, Jan , ::) [MSC v. bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
2.2.2 selenium安装
CMD命令行安装模块selenium 即可,命令如下:
pip install selenium
...
> pip show selenium
libpng warning: iCCP: known incorrect sRGB profile
Name: selenium
Version: 3.141.0
Summary: Python bindings for Selenium
Home-page: https://github.com/SeleniumHQ/selenium/
Author: UNKNOWN
Author-email: UNKNOWN
License: Apache 2.0
Location: c:\programdata\miniconda3\lib\site-packages
Requires: urllib3
Required-by:
2.2.3webdriver下载
- 安装各浏览器版本所对应的驱动,使用方法, 放到脚本执行目录下,或增加环境变量。
IE浏览器的web driver(iedriver.exe),可以在下面网址访问:
https://www.microsoft.com/en-us/download/confirmation.aspx?id=44069
chrom浏览器的web driver(chromedriver.exe),可以在下面网址访问:
http://npm.taobao.org/mirrors/chromedriver/
firefox(火狐浏览器)的web driver (geckodriver.exe)在这里访问:
https://github.com/mozilla/geckodriver/releases
其他浏览器驱动可以见下面列表:
Edge:https://developer.microsoft.com/en-us/micrsosft-edage/tools/webdriver
Safari:https://webkit.org/blog/6900/webdriver-support-in-safari-10/
三、代码示例
#从selenium里面导入webdriver
import os
import time
from selenium import webdriver
#指定chrom的驱动
#执行到这里的时候Selenium会到指定的路径将chrome driver程序运行起来
driver = webdriver.Chrome()
#driver = webdriver.Firefox()#这里是火狐的浏览器运行方法
#driver = webdriver.Ie() #这里是IE浏览器运行方法
#driver = webdriver.Firefox() #这里是Firefox浏览器运行方法
driver.maximize_window() #最大化浏览器窗口
#get 方法 打开指定网址
driver.get('http://www.baidu.com')
#设置等待时间,避免页面打开找不到元素的情况
time.sleep(3)
#选择网页,元素输入字符
driver.find_element_by_id('kw').send_keys('北京时间')
#点击搜索
driver.find_element_by_id('su').click()
#退出
driver.quit()