如何搭建selenium自动化测试框架?selenium自动化测试环境搭建(webdriver+Python框架)

一、安装Python

  选择Python版本后,进入Python官方网站下载适配机型版本:http://www.python.org/

二、安装setuptools和pip

  setuptools下载地址:https://pypi.python.org/pypi/setuptools

  pip下载地址:https://pypi.python.org/pypi/pip

  解压后打开cmd进入相应目录,执行命令安装:

  setuptools:C:\package\setuptools-7.0>python setup.py install

  pip:C:\package\pip-1.5.6>python setup.py install

  安装完执行命令(pip)验证安装结果:C:\Users\lenovo>pip

  当弹出如下内容是表示安装成功:

三、安装selenium

执行命令安装:C:\Users\lenovo>pip install selenium

或者指定版本安装:C:\Users\lenovo>pip install selenium==2.48.0

查看当前版本信息:C:\Users\lenovo>pip show selenium

弹出如下信息表示安装成功:

如需卸载,命令:C:\Users\lenovo>pip uninstall selenium

四、安装浏览器驱动webdriver

selenium之chromedriver与chrome版本映射表:https://blog.csdn.net/huilan_same/article/details/51896672

chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.html

注意:chromedriver的选择应根据chrome浏览器 版本映射表下载对应版本,否则会报错。

下载完chromedriver后,解压得到.exe文件,把此文件放入Python路径下,跟Python.exe在同一路径,如图:

至此:selenium自动化测试环境搭建完毕,可以尝试编写第一个自动化测试脚本(基于Python)了。

五、第一个自动化测试脚本

#coding=utf-8                        #防乱码,方便添加中文注释
from selenium import webdriver                #导入selenium的webdriver包

driver = webdriver.Chrome()                   #把webdriver的chrome对象赋值给变量driver
driver.get("http://www.baidu.com")                 #获得浏览器对象后,通过get()方法向浏览器发送URL地址

driver.find_element_by_id("kw").send_keys("selenium")      #通过页面元素定位到百度搜索框并输入selenium关键字搜索
driver.find_element_by_id("su").click()             #通过页面元素定位到“百度一下”tab并发送点击事件
driver.quit()                             #关闭浏览器

 

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述

在这里插入图片描述

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/732507.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

突破编程_C++_设计模式(策略模式)

1 策略模式的概念 策略模式(Strategy Pattern)是 C 中常用的一种行为设计模式,它能在运行时改变对象的行为。在策略模式中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为模式。 在策略模式中,需…

BUUCTF----[极客大挑战 2019]HardSQL

输入1’ 单引号闭合 进行永真式判断 竟然说我是臭弟弟----八嘎(肯定是进行了过滤) 经过手法判断,过滤了,空格,and等报错注入updatexml() 报错注入顾名思义就是,通过特殊函数错误使用并使其输出错误结果来获…

性能测试能力提升 —— 线程、并发、吞吐量、TPS、QPS、响应时间

一、背景 接着上一篇的知识:性能测试能力提升-关于性能测试,本篇文章,我们将主要介绍以下几方面的知识: 线程数&并发用户数相对并发&绝对并发吞吐量TPS&QPS响应时间 二、线程数、并发用户数 线程数: 主流的性能测…

Android Studio轮播图使用失败怎么办【已解决】

Android Studio轮播图使用失败怎么办 1.在gethub上面搜索轮播图 2.选择要使用的轮播图 3.查看该轮播图的配置方法 4.复制该依赖放入build.gradle中 5.重新构建 6.使用banner 发现没有报错了 7.参考网址 https://github.com/youth5201314/banner

解读BOT攻击,探索灵活高效的防护之道

回顾早期的互联网应用,由于业务流量比较小,往往单台服务器就能满足负载需求。随着互联网的流量越来越大,单服务器已经不能满足业务需求,无论它优化得再好,都较难承受大量的访问压力。支持负载均衡的技术很多&#xff0…

微信加好友频繁会被封号吗?

微信加好友频繁会被封号吗? 微信规定,每个人每天最多可以加20个好友,但一天之内如果频繁加好友,微信可能会出现异常提示,需要暂停好友添加操作。 面对微信上突如其来的大量好友申请,一定要谨慎处理,以免被…

新增流计算计数窗口,TDengine 3.2.3.0 八大板块功能更新

自发布以来,TDengine 3.0 版本在研发人员和社区用户的共同努力下不断优化,产品的稳定性和易用性获得了大幅提升,在知轮科技的智慧轮胎系统、黑格智能 3D 打印业务、韵达快递业务、中国地震台网中心、中移物联智慧出行场景等众多企业项目中获得…

前端面试练习24.3.5

webpack相关 项目使用webpack流程 进入一个初始化好的vue项目下载安装webpack相关依赖包/插件 npm install --save-dev webpack webpack-cli webpack-dev-server安装一些相关的loader,比如vue-loader,babel-loader,css-loader等创建webpack.config.js文…

【开源】SpringBoot框架开发教学资源共享平台

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 类图设计3.3 数据库设计3.3.1 课程档案表3.3.2 课程资源表3.3.3 课程作业表3.3.4 课程评价表 四、系统展…

【基于springboot+Vue+Element ui的电影推荐之协同过滤算法简单实现】

基于springbootVueElement ui的电影推荐之协同过滤算法简单实现 1.基于用户的协同过滤算法的简单设计与实现1.1获取某个用户的评分矩阵1.2获取该用户与其他用户的相似度矩阵1.3获取两个用户之间的相似度并存储1.4返回推荐列表 2.基于物品的协同过滤算法的简单设计与实现2.1计算…

蓝桥杯每日一题(哈希、单调队列)

2058 笨拙的手指 二进制所有的可能保存进哈希表&#xff0c;三进制找出所有的可能判断哈希表中是否有数字。 注意一种情况就是修改完之后出现前导零。直接continue; 学到了&#xff0c;某些条件的限制不一定要在循环条件上&#xff0c;可以直接在循环体内。 #include<bi…

运维:记一次寻找定时任务并删除的经历

前言 我相信接手别人的服务器、或者在没有任何文档的情况去看自己原先的服务器,都或多或少会遇到莫名其妙的服务器独有规则。 比如你服务本身跑的好好的,突然啪的一下,没了! 什么原因导致的呢?其中,很大可能是定时任务在作祟。 原因分析 本次,我遇到的问题是:在Ubuntu系…

一分钟了解遥感中卫星、传感器、波段及数据之间的关系

感是利用卫星、飞机或其他载具上的传感器对地球表面进行观测和测量的科学技术。以下是一些常见的遥感相关术语: 卫星(Satellite):在遥感中,卫星是指绕地球轨道运行的人造卫星,其主要任务是携带各种传感器从空间中对地球表面进行观测。 传感器(Sensor):传感器是安装在卫…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ImageSpan)

Text组件的子组件&#xff0c;用于显示行内图片。 说明&#xff1a; 该组件从API Version 10开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 ImageSpan(value: ResourceStr | PixelMap) 参数&#xff1a; 参数名参数类…

抓包工具获取请求信息

Charles 下载安装 下载 官方下载地址&#xff1a;https://www.charlesproxy.com/latest-release/download.do 下载后傻瓜式安装就好&#xff0c;这个官方的需要激活&#xff0c;可以选择绿色版或者学习版 绿色版 绿色中文版&#xff1a;https://soft.kxdw.com/pc/Charles.z…

【代码】Android|获取存储权限并创建、存储文件

版本&#xff1a;Android 11及以上&#xff0c;gradle 7.0以上&#xff0c;Android SDK > 29 获取存储权限 获取存储权限参考&#xff1a;Android 11 外部存储权限适配指南及方案&#xff0c;这篇文章直接翻到最下面&#xff0c;用XXPermissions框架。它漏了这个框架的使用方…

opencv实现视频人脸识别

一. 实现指定图像的人脸识别 注意&#xff1a; 以下实例参考《OpenCV轻松入门面向Python》李立宗著&#xff0c;使用python语言&#xff0c;编辑器为PyCharm&#xff0c;且都运行成功。 1.dface3.jpg图片文件和当前代码放在同一级目录下。 2.级联分类器文件和当前代码文件放在…

MapReduce-Partition分区

Partition分区 1.默认Partitioner分区 (key.hashcode() & Interger.MAX_VALUE) % numReduceTasksnumReduceTasks默认为&#xff1a;1 //输出文件一个默认分区根据key的hashCode对ReduceTasks个数取模。 用户控制那个key存储到那个分区2.手动设置分区 //设置分区 job.set…

笔记78:软件包管理工具 apt 详解(包含常用 apt 命令介绍)

一、Ubuntu 的包管理工具 apt 过去&#xff0c;软件通常是从源代码安装的&#xff0c;安装步骤为&#xff1a;​​​​​​ 在Github上下载该软件的源码文件&#xff1b;查看Github上这个软件项目中提供的自述文件&#xff08;通常包含配置脚本或 makefile 文件&#xff09;&a…

软件架构的风格

1.数据流风格 数据流风格中&#xff0c;所有的数据按照流的形式在执行过程中前进&#xff0c;不存在结构的反复和重构&#xff0c;就像工厂中的汽车流水线一样&#xff0c;数据在流水线的各个节点上被加工。每完成一个环节&#xff0c;数据流都会被送入下一个环节&#xff0c;最…