前戏

相信大家对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-介绍和安装的更多相关文章

  1. selenium模块使用详解、打码平台使用、xpath使用、使用selenium爬取京东商品信息、scrapy框架介绍与安装

    今日内容概要 selenium的使用 打码平台使用 xpath使用 爬取京东商品信息 scrapy 介绍和安装 内容详细 1.selenium模块的使用 # 之前咱们学requests,可以发送htt ...

  2. selenium介绍及环境安装

      selenium简介: seelenium是web应用程序自动化工具,通过自动操作浏览器,进行点击.输入.回车.返回等来模拟用户的真实行为.如何理解和看待selenium项目,selenium官方 ...

  3. Selenium IDE和Selenium RC的安装

    1       安装FireBug和FirePath 1.在火狐浏览器中,点击”添加附件”按钮,弹出”附加组件管理器”页面 2.在弹出页面中,输入“fireBug”,点击“搜索”按钮,弹出fireBu ...

  4. 【转】selenium简介及安装方法

    转自:http://www.cnblogs.com/fnng/p/3157639.html 1. selenium 介绍 selenium 是一个web 的自动化测试工具,不少学习功能自动化的同学开始 ...

  5. Python 爬虫利器 Selenium 介绍

    Python 爬虫利器 Selenium 介绍 转 https://mp.weixin.qq.com/s/YJGjZkUejEos_yJ1ukp5kw 前面几节,我们学习了用 requests 构造页 ...

  6. Maven介绍及安装

      1.maven是一个管理第三方库的jar package 2.从该页面下载相应的Maven jar包(http://maven.apache.org/download.cgi),linux OS下 ...

  7. selenium webdriver从安装到使用(python语言),显示等待和隐性等待用法,切换窗口或者frame,弹框处理,下拉菜单处理,模拟鼠标键盘操作等

    selenium的用法 selenium2.0主要包含selenium IDE 和selenium webDriver,IDE有点类似QTP和LoadRunner的录制功能,就是firefox浏览器的 ...

  8. 从零自学Hadoop(19):HBase介绍及安装

    阅读目录 序 介绍 安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一篇, ...

  9. 从零自学Hadoop(14):Hive介绍及安装

    阅读目录 序 介绍 安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 本系列已 ...

  10. Python之路-python(mysql介绍和安装、pymysql、ORM sqlachemy)

    本节内容 1.数据库介绍 2.mysql管理 3.mysql数据类型 4.常用mysql命令 创建数据库 外键 增删改查表 5.事务 6.索引 7.python 操作mysql 8.ORM sqlac ...

随机推荐

  1. 2 手写Java LinkedList核心源码

    上一章我们手写了ArrayList的核心源码,ArrayList底层是用了一个数组来保存数据,数组保存数据的优点就是查找效率高,但是删除效率特别低,最坏的情况下需要移动所有的元素.在查找需求比较重要的 ...

  2. Codeforces 174B【模拟构造】

    题意: 给你一个串只有小写字母和点,让你构造前缀是1-8,后缀是1-3长度的文件名: 思路: 那么以"."作为分割点,把字符串都拿出来,然后 首段长度<=8 OK; 中间&l ...

  3. 笔记-JavaWeb学习之旅5

    CP30的演示 package cn.itcast.datasourcejdbc; import com.mchange.v2.c3p0.ComboPooledDataSource; import j ...

  4. C#基础之析构函数

  5. celery (分布式系统)

    celery 介绍 Celery - 分布式任务队列. Celery 是一个简单.灵活且可靠的,处理大量消息的分布式系统,并且提供维护这样一个系统的必需工具. ​ 它是一个专注于实时处理的任务队列,同 ...

  6. linux进行文件vim编辑时没有退出文件直接关闭出现E325: ATTENTION Found a swap file by the name "/usr/local/php/etc/.php.ini.swp"

    E325: ATTENTIONFound a swap file by the name "/usr/local/php/etc/.php.ini.swp"          ow ...

  7. HTML 5的革新——更简洁的结构

    今天我们阐述HTML 5的革新之一:更简洁的结构. 新的文档类型 DOCTYPE 先来解释一下文档类型 DOCTYPE:文档类型位于HTML源文件的第一行,在HTML4的标准中,DOCTYPE在被归在 ...

  8. 在ASP.NET中,后台代码向页面写HTML代码

    Literal lt = new Literal();lt.Text = "<a href=\"http://www.czbin.cn\">czbin的博客& ...

  9. MvcPager无刷新分页,包含搜索和跳转功能

    1.MVC无刷新分页和搜索(第一版)  http://pan.baidu.com/s/1eRQ7Ml8  密码:uqf7 出现的问题: 1)程序不走判断条件一直为false, 错误原因:1)可能没有引 ...

  10. 关于nodejs模块安装后找不到包解决办法

    主要原因是类似bower.gulp这些包后,没有添加到环境变量,但是有洁癖的我也不希望添加太多的软链接,所以在用phpstorm开始时有需要的情况下 定义临时的环境变量 http://stackove ...