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 学习必知 ................................................... ...
随机推荐
- short i=1;short i=i+1对或错,错的理由;short i+=1对或错,错的理由
short i=1; i=i+1 i+=1 这是一个类型高级与低级的问题,前面的C是short型的,后面的1为int型的,short型与int型的相加得到short型是不可取,因为必须将int型转换为 ...
- Hibernate的HQL中in参数设置
平时经常用Hibernate,由于习惯表间不建立关联,所以HQL查询时候经常要用in语句. 我最常用的情况有2种: 1.in后是个子查询,如 FROM A WHERE A.ID IN (SELECT ...
- Thymeleaf 条件语句
Thymeleaf 条件语句 Posted on 2017-09-15 if 与 unless 假如现在有一个商品列表,当商品有评论时,显示view按钮,否则不显示.这时候就可以使用Thymelea ...
- Django创建一个简单的blog
1. 使用django-admin.py 创建mysite项目 sunny@sunny-ThinkPad-T450:~/PycharmProjects$ django-admin.py startpr ...
- Linux实战教学笔记47:JAVA企业级应用服务器之TOMCAT实战
第一章 Tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共 ...
- Perl 获取时间函数
Perl 时间日期 Perl中处理时间的函数有如下几种: 1.time() 函数:返回从1970年1月1日起累计的秒数 2.localtime() 函数:获取本地时区时间(多用这个) ...
- 微信图片反防盗链 用js不太成熟的解决方式 仅供参考
$("#imgDiv img").each(function () { var img = $(this); var img_src = img.attr("src&qu ...
- Codeforces 678E 状压DP
题意:有n位选手,已知n位选手之间两两获胜的概率,问主角(第一个选手)最终站在擂台上的概率是多少? 思路:一看数据范围肯定是状压DP,不过虽然是概率DP,但是需要倒着推:我们如果正着推式子的话,初始状 ...
- realsense pcl git
https://github.com/Ext4FAT/Registration vc++ pcl realsense 矿泉水瓶子 https://github.com/dBeker/PCL-Real ...
- spark读写Sequoiadb
spark如何读写Sequoiadb,最近被客户问多了,这个记录下. Spark读Sequoiadb数据: package marketing import com.sequoiadb.hadoop. ...