使用Python+selenium实现第一个自动化测试脚本
作者:未知的向往 发布时间:2021-01-26 17:52:01
最近在学web自动化,记录一下学习过程。
此处我选用python3.6+selenium3.0,均用最新版本,以适应未来需求。
环境:windows10,64位
一、安装python
python官方下载地址:https://www.python.org/downloads/
进入页面就有两个版本的下载选择,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
下载地址: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()
退出并关闭窗口的每一个相关的驱动程序。
来源:https://blog.csdn.net/nanalinlinlin/article/details/54692114


猜你喜欢
- 直接上代码:# -*- coding: utf-8 -*- import Queue import threadingimport urll
- 本文实例讲述了Python 多线程,threading模块,创建子线程的两种方式。分享给大家供大家参考,具体如下:GIL(全局解释器锁)是C
- 简单单例模式单例模式是创建类型的模式,它是为了保证执行期间内只有一个实例。使用 Golang 指针可以很容易的实现单例模式,通过指针保持相同
- 0.前提JavaScript对象的属性分为两种存在形态. 一种是存在实例中, 另一是存在原型对象中.根据上述, 检测属性的时候会出现4种情况
- 远程登陆SQLServer (2014)数据库,供大家参考,具体内容如下两台电脑,同一个局域网内,IP同一网段配置:Computer1: W
- Python中的缩进(Indentation)决定了代码的作用域范围。这一点和传统的c/c++有很大的不同(传统的c/c++使用花括号{}符
- 用for循环实现1~n求和的方法def main(): sum = 0 n = int(input('n=&
- 一、问题在windows上面使用eclipse开发的项目在windows上面运行一切正常,部署到腾讯云时出现向MySQL数据库中插入数据是中
- 阅读上一篇:javascript面向对象编程(三)继承是面向对象语言中的一个重要概念,现在我们来探讨一下继承。在网上搜一下javascrip
- 本文记录了mysql 8.0.14 安装配置的过程,供大家参考,具体内容如下1.下载地址:下载地址找到zip压缩文件.2.配置环境变量把解压
- 目录1、简单循环 Simple loops2、简单循环但是使用了线程Simple loops but threaded3、定时调度库 Sch
- 我就废话不多说了,大家还是直接看代码吧try: s = socket.socket() s.bind(('127.0.0.1'
- 本文实例讲述了Python实现读取txt文件中的数据并绘制出图形操作。分享给大家供大家参考,具体如下:下面的是某一文本文件中的数据。6.11
- FileSystemObject、Folder 和 File 对象的一些方法都与通过 TextStream 对象创建、读取或写入文件有关。虽
- 1、问题:群中有同学贴了如下一段代码,问为何 list 最后打印的是空值? from multiprocessing
- 最近做项目需要我们前端对金额进行千分位格式化(也就是说每三位用逗号隔开),代码已经做了修改 之前的版本是本人疏忽 真对不住大家了
- location.href这个东西常常用于跳转,location既是window对象的属性,又是document对象的属性。JavaScri
- 说明Django 默认的用户表 auth_user 包含 id, password, last_login, is_superuser, u
- 一、远程过程调用RPC XML-RPC is a Remote Procedure Call method that uses XML pa
- 接着上一篇《服务端XMLHTTP(ServerXMLHTTP in ASP)基本应用(上)》继续讲讲ServerXMLH