Python 的web自动化测试
安装selenium
上面python已安装完毕,接下来安装selenium。
安装selenium之前需安装些必要工具
1. 安装setuptools
下载地址:https://pypi.python.org/pypi/setuptools
在页面找到zip安装包,下载后解压。在命令行(运行->cmd)进入解压目录
执行 python setup.py install 即可安装,注意解压路径不要包含中文,否则安装会报错。
2.安装pip
下载地址:https://pypi.python.org/pypi/pip
在页面找到pip-9.x.tar.gz,下载后解压。同样在命令行进入解压目录,执行 python setup.py install 即可自动安装。
3.安装selenium
上面2个工具安装好后,安装selenium只需在命令行进入python安装路径Script目录下,执行 pip install -U selenium 即可自动安装。
完成安装后在IDLE输入 from selenium import webdriver ,如果没报错即代表安装成功。
三 注意事项
1. selenium3.0需要独立安装Firefox驱动,不再自带驱动,下载地址: https://github.com/mozilla/geckodriver/releases 下载对应版本,解压放在python安装路径下即可;
2. geckodriver驱动要求Friefox浏览器必须48版本以上,如果不是,更新Firefox;
3. 如果用Java开发,需注意3.0必须用JDK1.8版本才行;
4. Chromedriver下载:https://sites.google.com/a/chromium.org/chromedriver/downloads 同样也是下载后放在python安装路径下即可。
四 第一个自动化脚本
完成上面所有准备工作,就可以开始第一个自动化脚本的编写啦~
打开IDLE,通过快捷键ctrl+n打开一个新窗口,在新窗口输入以下代码:
- # coding = utf-8
- from selenium import webdriver
- browser = webdriver.Firefox()
- browser.get("http://www.baidu.com")
- browser.find_element_by_id("kw").send_keys("selenium")
- browser.find_element_by_id("su").click()
- browser.quit()
保存为test1.py,通过快捷键F5运行脚本,可看到脚本启动Firefox 浏览器进入百度页,输入“selenium” 点击搜索按钮,最后关闭浏览器的过程。第一个脚本即完成了~
代码解析:
# coding = utf-8
为了防止乱码问题,以及在程序中添加中文注释,把编码统一成 UTF-8;
from selenium import webdriver
导入selenium的webdriver包,导入webdriver包后才能使用 webdriver API 进行自动化脚本开发;
browser = webdriver.Firefox()
将控制的 webdriver 的 Firefox 赋值给 browser;获得了浏览器对象才可以启动浏览器;
browser.get("http://www.baidu.com")
获得浏览器对象后,通过 get()方法,向浏览器发送网址;
browser.find_element_by_id("kw").send_keys("selenium")
通过 id=kw 定位到百度的输入框,并通过键盘方法send_keys()向输入框里输入selenium ;
browser.find_element_by_id("su").click()
通过 id=su 定位到搜索按钮,并向按钮发送单击事件(click() ) ;
browser.quit()
退出并关闭窗口的每一个相关的驱动程序。
Python 的web自动化测试的更多相关文章
- 基于Selenium+Python的web自动化测试框架
一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.S ...
- Selenium+Python进行web自动化测试(Demo+API)
Selenium官方网站 http://selenium-python.readthedocs.io/ 配置使用环境 下载相应的浏览器驱动, Firefox 是默认的 本文以 chrome 为主 ,放 ...
- python selenium web自动化测试完整项目实例
问题: 好多想不到的地方,中间经历了一次重构,好蛋疼: xpath定位使用的不够熟练,好多定位问题,只能靠强制等待解决: 存在功能重复的方法,因为xpath定位不同,只能分开写,有时间可以继续优化: ...
- Selenium基于Python 进行 web 自动化测试
配置使用环境 下载相应的浏览器驱动, Firefox 是默认的 本文以 chrome 为主 ,放在scripts目录下ChromeDriver 官方下载地址 : 所有版本的 ChromeDriver ...
- Python+Selenium - Web自动化测试(一):环境搭建
清单列表: Python 3x Selenium Chrome Pycharm 一.Python的安装: Python官网下载地址:https://www.python.org/ 1. 进入官网地址 ...
- Python+Selenium - Web自动化测试(二):元素定位
前言 前面已经把环境搭建好了,现在开始使用 Selenium 中的 Webdriver 框架编写自动化代码脚本,我们常见的在浏览器中的操作都会有相对应的类方法,这些方法需要定位才能操作元素,不同网页的 ...
- python之web自动化测试框架
梳理下搭建web自动化框架的流程: 创建目录: cases:存放测试用例,unittest框架要求用例名必须以test开头,所以命名test_case.py test_case.py代码如下:继承un ...
- web自动化 基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架
基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架 by:授客 QQ:1033553122 博客:http://blog.sina.com.cn/ishou ...
- 基于Python的WEB接口开发与自动化测试 pdf(内含书签)
基于Python的WEB接口开发与自动化测试 目录 目 录O V目 录章 Python 学习必知 ................................................... ...
随机推荐
- php yii 学习笔记
yii 归档安装 1,下载 yii Yii2的高级应用程序模板 2,解压模板到目录,进入控制台进入目录 运行 php init 安装YII 3,进入 http://localhost/phpmyad ...
- Mono在Full AOT模式下的限制
[Mono在Full AOT模式下的限制] 调试时遇到一个Mono运行时异常: ExecutionEngineException: Attempting to JIT compile method ' ...
- glTexGen
[glTexGen] Rather than having to explicitly provide a texture coordinate for each vertex, we can use ...
- Hibernate多对多操作
---------------------siwuxie095 Hibernate 多对多操作 以用户和角色为例 (一)多对多映射配置 第一步:创建两个实体类,用户和角色 第二步:让两个实体类之间互相 ...
- 对于Android NDK编译器ARM和Thumb模式的理解
编译NDK项目时,编译器无法识别arm汇编,设置LOCAL_ARM_MODE := arm后问题解决, NDK文档上对LOCAL_ARM_MODE的说明如下: LOCAL_ARM_MODE By de ...
- Python实现常见算法[2]——快速排序
#!/usr/bin/python # module: quik_sort.py def PARTION(L,m,n): base = L[n] i = m-1 j = m while j<n: ...
- [erlang 001] erlang中的错误及异常处理
一. erlang中的错误 1. 分类 1) 编译错误:主要是编译器检测出的代码语法错误: 2) 逻辑错误:是指程序没有完成预期的工作,属于开发人员的问题: 3) 运行时错误:是指erlang运行时抛 ...
- php static 变量声明
<?phpfunction test($key){ static $array = array(); /* 静态变量是只存在于函数作用域中的变量,注释:执行后这种变量不会丢失(下次调用这个函数 ...
- Python代码规范利器Flake8
写代码其实是需要规范的,团队中更是如此:不然 Google 也不会发布各种编码规范,耳熟能详的有Google C++ 风格指南,Google Python 风格指南,等等. 这些规范有用吗?有用也没用 ...
- htaccess跨域
目的:为了加快访问速度,减轻主站压力,把静态资源放到独立的服务器上,使用独立的域名 问题:浏览器为安全考虑,实施同源策略:ip/域名和端口必须相同 解决办法: 1.httpd.conf中,开启apac ...