python写web自动化_使用Python+selenium实现第一个自动化测试脚本
原标题:使用Python+selenium实现第一个自动化测试脚本
最近在学web自动化,记录一下学习过程。
此处我选用python3.6+selenium3.0,均用最新版本,以适应未来需求。
环境:windows10,64位
一、安装python
进入页面就有两个版本的下载选择,2.x版本和3.x版本,或者根据系统选择对应版本。
点击Windows,跳转到Windows版本页面:
点选Python3.6.0版本,进入3.6版本页面,拉到页面下方,找到files
选择64位or32位(x86-64即64,x86即32位),每种都有3个版本
embeddable zip file是嵌入式的,可以集成到其它应用中;
executable installer是exe可执行文件方式安装;
web-based installer是联网安装包,需要有网络环境;
如果不是嵌入式的,后两种方式都是可以的。这里我下的是web-based版本,下载后双击运行,进入安装程序:
可选默认安装方式,也可自定义安装,两种方式都需勾上下方的Add Python 3.6 to PATH,这里我们选自定义安装Customize installation
这里我们按默认全选即可,Next
勾上第一个选项,选择安装路径后(注意安装路径不要包含中文,否则后面安装工具可能会报错),点击install就开始安装了
等待安装...
安装完成,点击close,python安装完毕~ 前面已勾选了add path,所以无需设置任何系统变量,即可使用。
安装后点击开始菜单,在菜单最上面能找到IDLE
IDLE是python自带的shell,点击打开,即可开始编写python脚本了~~
二、安装selenium
上面python已安装完毕,接下来安装selenium。
安装selenium之前需安装些必要工具
1. 安装setuptools
在页面找到zip安装包,下载后解压。在命令行(运行->cmd)进入解压目录
执行 python setup.py install 即可安装,注意解压路径不要包含中文,否则安装会报错。
2.安装pip
在页面找到pip-9.x.tar.gz,下载后解压。同样在命令行进入解压目录,执行 python setup.py install 即可自动安装。
3.安装selenium
上面2个工具安装好后,安装selenium只需在命令行进入python安装路径目录下,执行 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打开一个新窗口,在新窗口输入以下代码:
保存为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自动化_使用Python+selenium实现第一个自动化测试脚本相关推荐
- python写web自动化_jenkins+selenium+python实现web自动化测试
jenkins+selenium可以做到对web自动化的持续集成. Jenkins的基本操作: 一.新建视图及job 新建视图: 新建job: 可以选择构建一个自由风格的软件项目或者复制已有的item ...
- python写web自动化_Web接口开发与自动化测试:基于Python语言
领取成功 您已领取成功! 您可以进入Android/iOS/Kindle平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦! - | 回复不要太快哦~ 回复内容不能为空哦 ...
- python写web自动化_Web接口开发与自动化测试——基于Python语言
目 录∣ V 目 录 第1 章 Python 学习必知 ........................................................................ ...
- 用python写投票程序_大话python最终篇,web.py 开发的投票程序demo
概述 开发语言 python Web开发框架 web.py 前端开发框架 vuejs+elementui 数据库 mysql 设计思路 首先是数据库设计 ...
- 用python写web网页_从零开始,使用python快速开发web站点(1) | 学步园
环境:ubuntu 12.04 python版本: 2.73 ok,首先,既然是从零开始,我们需要的是一台可以运行的python的计算机环境,并且假设你已经安装好了python, 然后,既然是快速开 ...
- python写计算机模拟器_用 Python 写出了一个 Gameboy 模拟器
点击上方"编程派",选择设为"设为星标" 优质文章,第一时间送达! 感觉用 Atari 游戏研究人工智能有点「不够接地气」?现在我们可以使用 Gameboy 模 ...
- python写机器人程序_用Python写的一个多线程机器人聊天程序
本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...
- python搭建web服务器_用Python建立最简单的web服务器
利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录的路径下,输入命令:python -m Web服务器模块 [端口号,默认8000]例如:python -m Sim ...
- 用python写聊天机器人_用Python 写一个机器人陪你聊天(文尾有彩蛋)
工作一忙,原来秉烛夜谈的好友现在都很少聊天,微信都成了微信群的天下,鲜有微信好友给你发消息,想要主动发却也找不到开题话题,怎么办?用Python写一个机器人陪自己聊聊天吧.以下是源码及解析,小白都看得 ...
最新文章
- Suricata的输出
- cpu安装_CPU是AMD的,老台式电脑可以加装固态硬盘安装Win10系统吗?
- 在vim下按F4自动添加作者信息,文件创作时间等
- SAP License:一句话让你明白FICO
- 模组厂商对话 MTK:智能音箱市场谈红海还早,下一个爆品将诞生丨WARE 2018
- OS X中的bundle
- mac safari 下载pdf
- ESXi 安装 TrueNas
- 继电器互锁功能的实现
- Linux之Redhat7如何破解密码
- 【Android】PC端同步手机画面
- java实现清除图片水印_Java实现图片水印
- 基于C4D的3d设计
- 【回答问题】ChatGPT上线了!给我推荐20个比较流行的自动驾驶算法模型
- google相机android10,三星S10+/S10/S10e谷歌相机移植版下载:支持夜视,体验强大算法...
- 修改http默认的80端口为其它端口
- 有关信息学竞赛的常见问题
- 【Grasshopper基础8】电池的序列化与反序列化 Serilization of Grasshopper Component
- 【三维路径规划】基于RRT实现三维路径规划matlab源码
- 基于qt开发的智能系统:电子相册,监控摄像头模块,音乐播放器,视频播放器,电子时钟
热门文章
- mysql having实例_Mysql必读mysql group by having 实例代码
- java dozer 深度_java – Dozer深度映射设置为Set
- 第十七讲 利用傅里叶级数求特解
- word2016配置Mathtype
- 解决webpack打包vue项目后,部署完成后,刷新页面页面404
- swiper.js 多图片页面的懒加载lazyLoading
- phpstorm配置Xdebug进行调试PHP教程
- LeetCode - 413. Arithmetic Slices - 含中文题意解释 - O(n) - ( C++ ) - 解题报告
- ajax使用异步问题
- Tomcat的优化技巧