selenium-介绍和安装
前戏
相信大家对web自动化selenium都不陌生,是一个web自动化框架,我在第一家公司的时候,产品是两个星期一个版本,每一次发布测试都要进行回归测试,也就是大家说的点点点,后来我就想,能不能做成自动化,让代码来替我进行回归测试,每天下班之后,就学习selenium的api,后来也终于使用selenum+python写了一个web自动化测试框架,在每次回归的时候只要运行程序,程序就会自动替我执行,遇到失败的用例也会给我进行截图和错误信息的写入,我只需要看一下失败的用例就可以了,大大减少了我的回归测试时间。那selenium和QTP自动化相比怎样呢?来看一下下面的对比
* 免费,也不用再为破解QTP而大伤脑筋
* 小巧,对于不同的语言它只是一个包而已,而QTP需要下载安装1个多G 的程序。
* 这也是最重要的一点,不管你以前更熟悉C、 java、ruby、python、或都是C# ,你都可以通过selenium完成自动化测试,而QTP只支持VBS
* 支持多平台:windows、linux、MAC ,支持多浏览器:ie、ff、safari、opera、chrome
* 支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器的执行,相当于分发机的功能
安装:
安装自动化环境是我们必不可少的一步,web自动化相对于appium安装环境要容易好多好多好多好多。。。
首先我使用的python版本是3.6,编辑器是pycharm,selenium的版本是3.12.0,谷歌浏览器的版本是74.0.3729.157
上面的几个软件我相信大家都会安装,这里就不详细说明
然后我们写一个简单的例子来看一看
from selenium import webdriver driver = webdriver.Chrome() # 实例化一个谷歌浏览器对象
driver.get("https://baidu.com/") # 打开百度网站
执行上面的代码,发现报错了
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
因为我们少安装一个谷歌驱动,大家可以去这里下载
下载的是一个chromedriver.exe文件,我们把它和python.exe放在一个目录下
然后我们重新运行上面的代码,这时就会打开浏览器,进入百度首页
如果我们想用firefox浏览器怎么办,很简单,可以去下载一个firefox的驱动,然后也放在那个目录下,然后把上面的代码改为
from selenium import webdriver driver = webdriver.Firefox() # 实例化一个谷歌浏览器对象
driver.get("https://baidu.com/") # 打开百度网站
如果你找不到python.exe的目录也没关系,我们可以在生成driver的时候,指明浏览器驱动的地址就可以了
from selenium import webdriver driver = webdriver.Chrome(executable_path=r'F:\CJMDXTtest\config\driver\chromedriver.exe') # 实例化一个谷歌浏览器对象,指明驱动的地址
driver.get("https://baidu.com/") # 打开百度网站
selenium-介绍和安装的更多相关文章
- selenium模块使用详解、打码平台使用、xpath使用、使用selenium爬取京东商品信息、scrapy框架介绍与安装
今日内容概要 selenium的使用 打码平台使用 xpath使用 爬取京东商品信息 scrapy 介绍和安装 内容详细 1.selenium模块的使用 # 之前咱们学requests,可以发送htt ...
- selenium介绍及环境安装
selenium简介: seelenium是web应用程序自动化工具,通过自动操作浏览器,进行点击.输入.回车.返回等来模拟用户的真实行为.如何理解和看待selenium项目,selenium官方 ...
- Selenium IDE和Selenium RC的安装
1 安装FireBug和FirePath 1.在火狐浏览器中,点击”添加附件”按钮,弹出”附加组件管理器”页面 2.在弹出页面中,输入“fireBug”,点击“搜索”按钮,弹出fireBu ...
- 【转】selenium简介及安装方法
转自:http://www.cnblogs.com/fnng/p/3157639.html 1. selenium 介绍 selenium 是一个web 的自动化测试工具,不少学习功能自动化的同学开始 ...
- Python 爬虫利器 Selenium 介绍
Python 爬虫利器 Selenium 介绍 转 https://mp.weixin.qq.com/s/YJGjZkUejEos_yJ1ukp5kw 前面几节,我们学习了用 requests 构造页 ...
- Maven介绍及安装
1.maven是一个管理第三方库的jar package 2.从该页面下载相应的Maven jar包(http://maven.apache.org/download.cgi),linux OS下 ...
- selenium webdriver从安装到使用(python语言),显示等待和隐性等待用法,切换窗口或者frame,弹框处理,下拉菜单处理,模拟鼠标键盘操作等
selenium的用法 selenium2.0主要包含selenium IDE 和selenium webDriver,IDE有点类似QTP和LoadRunner的录制功能,就是firefox浏览器的 ...
- 从零自学Hadoop(19):HBase介绍及安装
阅读目录 序 介绍 安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一篇, ...
- 从零自学Hadoop(14):Hive介绍及安装
阅读目录 序 介绍 安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 本系列已 ...
- Python之路-python(mysql介绍和安装、pymysql、ORM sqlachemy)
本节内容 1.数据库介绍 2.mysql管理 3.mysql数据类型 4.常用mysql命令 创建数据库 外键 增删改查表 5.事务 6.索引 7.python 操作mysql 8.ORM sqlac ...
随机推荐
- IOS11 - UINavigationItem大标题,搜索栏实现
1.新建模型 class Contact: NSObject { var name : String? var mobile : String?{ didSet{ { mobileString = m ...
- 百度地图API示例 JS
http://developer.baidu.com/map/jsdemo.htm#c2_2
- POJ3737【数学】
高中数学题?初中吧///然后注意一下POJ的double输出用%f.......... #include <iostream> #include <stdio.h> #incl ...
- js对象 数组Array详解 (参照MDN官网:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)
一:数组的创建方式: 1.采用直接量创建 var arr = [];//创建一个空数组 var arr2 = [1,2,3];//创建一个有三个元素的数组 2.采用构造函数创建 a.var arr1 ...
- MyBatis逆向工程中domainObjectRenamingRule报错或无效
使用domainObjectRenamingRule报错 在使用MyBatis逆向工程时报错如下: org.mybatis.generator.exception.XMLParserException ...
- ios 常用库
SwiftHTTP 网络请求库 SwiftyJSON json解析库 SnapKit 自动布局库 Kingfisher 图像加载库 WRCycleScr ...
- Jquery | 基础 | html()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- FFT与NTT的模板
网上相关博客不少,这里给自己留个带点注释的模板,以后要是忘了作提醒用. 以洛谷3803多项式乘法裸题为例. FFT: #include <cstdio> #include <cmat ...
- [已读]JavaScript DOM高级程序设计
08年出版,但是不得不说内容很好,正如书名,重点是DOM部分,看的还蛮早的,这本,记得是13年.
- Jquery多选框互相内容交换
<head runat="server"> <title>无标题页</title> <script type="text/jav ...