原标题:使用Python+selenium实现第一个自动化测试脚本

最近在学web自动化,记录一下学习过程。

此处我选用python3.6+selenium3.0,均用最新版本,以适应未来需求。

环境:windows10,64位

一、安装python

34d11b489eb44d93bbc2036d40d66661.png

进入页面就有两个版本的下载选择,2.x版本和3.x版本,或者根据系统选择对应版本。

点击Windows,跳转到Windows版本页面:

2c9eb79603f64d0ca2783c4b8497c95c.png

点选Python3.6.0版本,进入3.6版本页面,拉到页面下方,找到files

512e6746ca44425aadfc7ca50c612093.png

选择64位or32位(x86-64即64,x86即32位),每种都有3个版本

embeddable zip file是嵌入式的,可以集成到其它应用中;

executable installer是exe可执行文件方式安装;

web-based installer是联网安装包,需要有网络环境;

如果不是嵌入式的,后两种方式都是可以的。这里我下的是web-based版本,下载后双击运行,进入安装程序:

ede86ce247e741b1bc67a194202b1ba2.png

可选默认安装方式,也可自定义安装,两种方式都需勾上下方的Add Python 3.6 to PATH,这里我们选自定义安装Customize installation

6a9a8f3ffb7645f08eab1693d23dd8bb.png

这里我们按默认全选即可,Next

33b767a2417e4b579577e4671bf9ac8f.png

勾上第一个选项,选择安装路径后(注意安装路径不要包含中文,否则后面安装工具可能会报错),点击install就开始安装了

a99a8b81cfcc44549981c921d4387289.jpeg

等待安装...

8e4f87fc89584902b8b4a78494d269ce.png

安装完成,点击close,python安装完毕~ 前面已勾选了add path,所以无需设置任何系统变量,即可使用。

安装后点击开始菜单,在菜单最上面能找到IDLE

8292177a1dee40ae98e6a5b3362f9b57.png

IDLE是python自带的shell,点击打开,即可开始编写python脚本了~~

32a59133d4fa42979d5016cc8d90b69f.png

二、安装selenium

上面python已安装完毕,接下来安装selenium。

安装selenium之前需安装些必要工具

1. 安装setuptools

33a4729675de49d7a088f4c52b36516d.png

在页面找到zip安装包,下载后解压。在命令行(运行->cmd)进入解压目录

执行 python setup.py install 即可安装,注意解压路径不要包含中文,否则安装会报错。

2.安装pip

f3a01d9b847648b5b38097f66b1ccae6.png

在页面找到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打开一个新窗口,在新窗口输入以下代码:

d77107cdb10741da9c2a829183fc7e7b.png

保存为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实现第一个自动化测试脚本相关推荐

  1. python写web自动化_jenkins+selenium+python实现web自动化测试

    jenkins+selenium可以做到对web自动化的持续集成. Jenkins的基本操作: 一.新建视图及job 新建视图: 新建job: 可以选择构建一个自由风格的软件项目或者复制已有的item ...

  2. python写web自动化_Web接口开发与自动化测试:基于Python语言

    领取成功 您已领取成功! 您可以进入Android/iOS/Kindle平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦! - | 回复不要太快哦~ 回复内容不能为空哦 ...

  3. python写web自动化_Web接口开发与自动化测试——基于Python语言

    目 录∣ V 目 录 第1 章 Python 学习必知 ........................................................................ ...

  4. 用python写投票程序_大话python最终篇,web.py 开发的投票程序demo

    概述 开发语言         python Web开发框架  web.py 前端开发框架   vuejs+elementui 数据库              mysql 设计思路 首先是数据库设计 ...

  5. 用python写web网页_从零开始,使用python快速开发web站点(1) | 学步园

    环境:ubuntu 12.04 python版本:  2.73 ok,首先,既然是从零开始,我们需要的是一台可以运行的python的计算机环境,并且假设你已经安装好了python, 然后,既然是快速开 ...

  6. python写计算机模拟器_用 Python 写出了一个 Gameboy 模拟器

    点击上方"编程派",选择设为"设为星标" 优质文章,第一时间送达! 感觉用 Atari 游戏研究人工智能有点「不够接地气」?现在我们可以使用 Gameboy 模 ...

  7. python写机器人程序_用Python写的一个多线程机器人聊天程序

    本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...

  8. python搭建web服务器_用Python建立最简单的web服务器

    利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录的路径下,输入命令:python -m Web服务器模块 [端口号,默认8000]例如:python -m Sim ...

  9. 用python写聊天机器人_用Python 写一个机器人陪你聊天(文尾有彩蛋)

    工作一忙,原来秉烛夜谈的好友现在都很少聊天,微信都成了微信群的天下,鲜有微信好友给你发消息,想要主动发却也找不到开题话题,怎么办?用Python写一个机器人陪自己聊聊天吧.以下是源码及解析,小白都看得 ...

最新文章

  1. Suricata的输出
  2. cpu安装_CPU是AMD的,老台式电脑可以加装固态硬盘安装Win10系统吗?
  3. 在vim下按F4自动添加作者信息,文件创作时间等
  4. SAP License:一句话让你明白FICO
  5. 模组厂商对话 MTK:智能音箱市场谈红海还早,下一个爆品将诞生丨WARE 2018
  6. OS X中的bundle
  7. mac safari 下载pdf
  8. ESXi 安装 TrueNas
  9. 继电器互锁功能的实现
  10. Linux之Redhat7如何破解密码
  11. 【Android】PC端同步手机画面
  12. java实现清除图片水印_Java实现图片水印
  13. 基于C4D的3d设计
  14. 【回答问题】ChatGPT上线了!给我推荐20个比较流行的自动驾驶算法模型
  15. google相机android10,三星S10+/S10/S10e谷歌相机移植版下载:支持夜视,体验强大算法...
  16. 修改http默认的80端口为其它端口
  17. 有关信息学竞赛的常见问题
  18. 【Grasshopper基础8】电池的序列化与反序列化 Serilization of Grasshopper Component
  19. 【三维路径规划】基于RRT实现三维路径规划matlab源码
  20. 基于qt开发的智能系统:电子相册,监控摄像头模块,音乐播放器,视频播放器,电子时钟

热门文章

  1. mysql having实例_Mysql必读mysql group by having 实例代码
  2. java dozer 深度_java – Dozer深度映射设置为Set
  3. 第十七讲 利用傅里叶级数求特解
  4. word2016配置Mathtype
  5. 解决webpack打包vue项目后,部署完成后,刷新页面页面404
  6. swiper.js 多图片页面的懒加载lazyLoading
  7. phpstorm配置Xdebug进行调试PHP教程
  8. LeetCode - 413. Arithmetic Slices - 含中文题意解释 - O(n) - ( C++ ) - 解题报告
  9. ajax使用异步问题
  10. Tomcat的优化技巧