做 web 项目,测试是无法避免的。对于某些特定功能,采用单元测试就行。但如果想对网站进行整体测试,人工点击测试可行但有点累,如果能借助自动化测试工具就更好了。selenium 就是一款能满足这样要求的测试工具,selenium 是一款用于 web 应用程序测试的工具。测试是直接运行在浏览器中,就像真正的用户在操作一样。下面是 selenium 环境搭建记录。

1、安装python3.7.2

本人使用的是 windows 操作系统,下载 MSI 文件,一直下一步安装即可,这里不赘述。下载地址如下:

https://www.python.org/downloads/windows/

2、安装 selenium

如果下载的是老版本 python,需另安装 pip,python3.5+ 自带 pip。

pip install Selenium

3、安装浏览器驱动

selenium 自带 firefox 浏览器驱动,本人使用的是 chrome,所以需要下载安装 chromedriver,chromedriver 下载地址如下:

http://npm.taobao.org/mirrors/chromedriver/

注意下载相应浏览器版本的 chromedriver,如果版本不对应,后面的测试  selenium  是没办法启动 chrome 浏览器的。下面给出部分版本的对应关系,更多的对应关系可以去官网上查询

chrome chromedriver
69-71 2.43
68-70 2.42
67-69 2.41
66-68 2.40

4、安装 python IDE 编辑工具,本人使用的是 pycharm 社区版

https://www.jetbrains.com/pycharm/download/#section=windows

5、在 pycharm 中 配置 python 安装路径

file->Settings->Project->project interpreter

6、编写测试脚本

 from selenium import webdriver
import time # 指定 chromedriver 的物理路径
path = "D:\develop\python3\chromedriver.exe"
browser = webdriver.Chrome(executable_path=path) # 打开网页
browser.get("http://www.baidu.com")
input_str = browser.find_element_by_id('kw')
input_str.send_keys("ipad")
time.sleep(1) button = browser.find_element_by_id('su')
button.click()
time.sleep(2) search_str = browser.find_elements_by_link_text('iPad_百度百科')
search_str[0].click()
time.sleep(10) # 关闭浏览器
browser.close()

一个简单的打开百度网,搜索 iPad,点击进入 iPad 百度百科词条脚本就完成了,运行下吧,看看效果。

自动化测试 selenium 环境搭建的更多相关文章

  1. 移动端自动化测试Appium环境搭建(part1-2-3)

    Appium移动端自动化测试相信大家都不陌生,appium的铁哥们是selenium,不管是selenium还是appium,都是调用webdriver来做自动化测试.今天关于appium的介绍我们不 ...

  2. Java+Selenium环境搭建

    初学者---简单的selenium环境搭建: 1. 安装JAVA环境 2.下载eclipse 3.下载firefox (不要最高版本,容易出现selenium不兼容问题) 4. 下载selenium需 ...

  3. Android自动化测试-UiAutomator2环境搭建

    Android自动化测试-UiAutomator环境搭建(QQ交流群:490451176) 一.环境准备 1. 安装android sdk,并配置环境变量 2. 安装android studio,国内 ...

  4. Selenium自动化测试值环境搭建

    Selenium自动化测试之环境搭建 一.背景介绍 自动化测试近几年在测试领域很火,出去面试要是说不会自动化测试薪资都不好意思往高了要!很多公司做敏捷测试用到自动化,其他一些公司也是跟风,即使用不上自 ...

  5. java+eclipse+selenium环境搭建

    这几天在学selenium,大头虾的我.安装环境还是遇到了挺多问题,赶紧来记录下.不然下次又...(参考虫师的<Selenium2 Java自动化测试实战>),就随便写写加深下自己的印象. ...

  6. selenium环境搭建:

    环境搭建 基于python3和selenium3做自动化测试,俗话说:工欲善其事必先利其器:没有金刚钻就不揽那瓷器活,磨刀不误砍柴工,因此你必须会搭建基本的开发环境,掌握python基本的语法和一个I ...

  7. (selenium+python)_UI自动化01_Mac下selenium环境搭建

    前言 Selenium 是一个用于Web网页UI自动化测试的开源框架,可以驱动浏览器模拟用户操作.支持多种平台(Windows.Mac OS.Linux)和多种浏览器(IE.Firefox.Chrom ...

  8. python+selenium环境搭建步骤

    一.自动化简介 1.自动化测试概念: 是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程 2.自动化测试分类: 一般IT上所说的自动化测试是指功能自动化测试,通过编码的方式用一 ...

  9. phpunit+selenium环境搭建

    这个环境搭建遇到了挺多麻烦,最终还是没能自己解决,幸好有同事“青蛙”的帮忙解决了这个问题!在这里把本人亲测步骤给大家列一下,希望给大家提供方便! 安装pear: Go-pear.phar下载地址:ht ...

随机推荐

  1. WMS常用表

    --主数据 select * from sku; select * from pack; select * from userdatatranslation; ' ; SELECT * FROM LO ...

  2. jenkins+sonarQube代码质量扫描 并排除指定的目录

    sonar.projectKey=dev1-news-paymentsonar.projectName=dev1-news-paymentsonar.projectVersion=$BUILD_NUM ...

  3. 阅读【现代网络技术 SDN/NFV/QOE 物联网和云计算】 第一章

    本人打算阅读这本书来了解物联网和云计算的基础架构和设计原理.特作笔记如下: 作者: William  Stallings 本书解决的主要问题: 由单一厂商例如IBM向企业或者个人提供IT产品和服务,包 ...

  4. protobuf shutdownprotobuflibrary的时候crash,释放的指针出错

    往往是多个子项目中有多次链接使用. 解决方法: 1. 使用静态库. 2. issure中有说2.6.1还未允许多次释放,建议使用3.4.x版本. 参考: https://github.com/prot ...

  5. GPL_LGPL

    LGPL 与GPL的区别   GPL(GNU General Public License) 我们很熟悉的Linux就是采用了GPL.GPL协议和BSD, Apache Licence等鼓励代码重用的 ...

  6. 优化linux,安装node环境

    就是这样我的心爱的云主机就被攻击了,反正我是很久没宠幸过她,肯定不是我去攻击人家,但是吧昨天就突然来了封邮件,小白一个查不出什么,用了 netsat -na显示所有连接到服务器的活跃的网络连接数,发现 ...

  7. How Xtuner E3 works for BMW 520d Diagnosis and initialization of CBS service

    Using Xtuner E3 to perform BMW 520d Diagnosis and initialization of CBS service in step by step proc ...

  8. POJ 1655.Balancing Act 树形dp 树的重心

    Balancing Act Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14550   Accepted: 6173 De ...

  9. laravel config 配置无效

    修改了配置文件config  发现逻辑代码中并无生效. 猜测缓存,所以执行下: php artisan config:cache 缓存文件默认会存在bootstrap/cache 中,并不在stora ...

  10. python入门之两种方法修改文件内容

    1.占硬盘修改 import os file_name="兼职.txt" new_file_name="%s.new".% file_name old_str= ...