selenium + python自动化测试环境搭建(有手就行)

news2024/12/23 18:26:35

selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点:

  • 免费,也不用再为破解QTP而大伤脑筋

  • 小巧,对于不同的语言它只是一个包而已,而QTP需要下载安装1个多G 的程序。

  • 这也是最重要的一点,不管你以前更熟悉C、 java、ruby、python、或都是C# ,你都可以通过selenium完成自动化测试,而QTP只支持VBS

  • 支持多平台:windows、linux、MAC ,支持多浏览器:ie、ff、safari、opera、chrome

  • 支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器的执行,相当于分发机的功能。

搭建平台windows

准备工具如下:

下载python

https://www.python.org/

window安装步骤:

1、下载python安装。

https://www.python.org/downloads/release/python-351/

在这里插入图片描述
根据自己的操作系统32/64 位,选择相应的版本。

安装过程我就没必要描述,我的安装目录为:C:\Python35

2、进入cmd(windows命令提示符)下面输入"python"命令。

(如果提示python不是内部或外部命令!别急,去配置一下环境变量吧)

修改我的电脑->属性->高级->环境变量->系统变量中的PATH为:

变量名:PATH

变量值:;C:\Python35;C:\Python35\Scripts;

3、安装selenium

3.1、通过pip 安装

C:\Users\fnngj>python3 -m pip install selenium

3.2、通过下载包安装

或者直接下载selenium包:

https://pypi.python.org/pypi/selenium

解压,cmd进入目录:

C:\selenium\selenium2.53.5> python3 setup.py install

ubuntu 下安装方式:

1、安装:setuptools

root@fnngj-H24X:~# apt-get install python-setuptools

2、安装pip

root@fnngj-H24X:/home/fnngj/python# tar -zxvf pip-1.4.1.tar.gz

root@fnngj-H24X:/home/fnngj/python# cd pip-1.4.1/

root@fnngj-H24X:/home/fnngj/python# python setup.py install

3、安装selenium

root@fnngj-H24X:/home/fnngj/python/pip-1.4.1# pip install -U selenium

恭喜~! 你前期工作已经做了,上面的步骤确实有些繁琐,但是并不难,不过我们已经完成成了,下面体验一下成果吧! 拿python网站上的例子:

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import time

browser = webdriver.Firefox() # Get local session of firefox
browser.get("http://www.yahoo.com") # Load page
assert "Yahoo!" in browser.title
elem = browser.find_element_by_name("p") # Find the query box
elem.send_keys("seleniumhq" + Keys.RETURN)
time.sleep(0.2) # Let the page load, will be added to the API
try:
    browser.find_element_by_xpath("//a[contains(@href,'http://seleniumhq.org')]")
except NoSuchElementException:
    assert 0, "can't find seleniumhq"
browser.close()

(运行过程中如果出现错误:

WebDriverException: Message: u’Unexpected error launching Internet Explorer.

Protected Mode settings are not the same for all zones. Enable Protected Mo

de must be set to the same value (enabled or disabled) for all zones.’

更改IE的internet选项->安全,将Internet/本地Internet/受信任的站定/受限制的站点中的启用保护模式全部去 掉勾,或者全部勾上。)

selenium + python的一份不错文档

http://selenium.googlecode.com/git/docs/api/py/index.html

如果想通过其它浏览器(IE Chrome)运行脚本

安装Chrome driver

chrome driver的下载地址在这里。

1. 下载解压,你会得到一个chromedriver.exe文件(我点开,运行提示started no prot 9515 ,这是干嘛的?端口9515被占了?中间折腾了半天),后来才知道需要把这家伙放到chrome的安装目录下…\Google\Chrome\Application\ ,然后设置path环境变量,把chrome的安装目录(我的:C:\Program Files\Google\Chrome\Application),然后再调用运行:

# coding = utf-8

from selenium import webdriver

driver = webdriver.Chrome()

driver.get('http://radar.kuaibo.com')

print driver.title

driver.quit()

又报了个错:

Chrome version must be >= 27.0.1453.0\n (Driver info: chromedriver=2.0,platform=Windows NT 5.1 SP3 x86)

说我chrome的版本没有大于27.0.1453.0 ,这个好办,更新到最新版本即可。

安装IE driver

在新版本的webdriver中,只有安装了ie driver使用ie进行测试工作。

ie driver的下载地址在这里,记得根据自己机器的操作系统版本来下载相应的driver。

暂时还没尝试,应该和chrome的安装方式类似。

记得配置IE的保护模式

如果要使用webdriver启动IE的话,那么就需要配置IE的保护模式了。

把IE里的保护模式都选上或都勾掉就可以了。

公众号:


资源分享

下面这份资源,对于想学习【软件测试】的朋友来说应该是最全面最完整的备战仓库,希望也能帮助到你!在这里插入图片描述

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

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

相关文章

时序预测 | MATLAB实现PSO-SVM粒子群优化支持向量机时间序列预测

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

LeetCode刷题日记之链表II

1.四数相加II 题目描述 解题思路 1.定义一个哈希Map,其中key存放两数之和,value存放两数和出现的次数。 2.遍历统计出nums1和nums元数相加和出现的次数(ab)。 3.遍历nums3和nums4,并求和(cd),统计出(0-(cd))在Map中出现的次数。 4.返回(0-(…

央企招聘:中国人民银行2023年度招聘启事

2023年中国外汇交易中心 博士后科研工作站招聘公告 中国外汇交易中心暨全国银行间同业拆借中心(以下简称“交易中心”)于1994年成立,是中国人民银行直属事业单位,为银行间外汇、货币、债券及其衍生产品提供交易、发行、基准及一线…

如何通过.exe文件控制一台电脑

CVE-2022-21999漏洞 如何实现发送一个.exe文件偷偷控制他人的电脑?这个想法很刑的,所以我只是说明我的实现方式,具体操作建议仅用于hvv等专业领域,请勿以身试法。 首先我们分析一下.exe文件的实际应用场景---windows系统的电脑&am…

11、setoolkit工具 构造钓鱼网站、powershell注入

靶机:192.168.11.105攻击机kail:192.168.11.1061.在kali中启动setoolkitsetoolkit2.利用SET构建钓鱼网站1)选择1 Social-Engineering Attacks (社会工程学攻击)2)选择2 Website Attack Vectors &#xff…

Spring Boot 概念、创建和运行 · Spring Boot 的优点 · 启动第一个 Spring Boot · Spring Boot 的注意事项

一、什么是 Spring Boot二、Spring Boot 优点三、Spring Boot 项目创建四、项目目录介绍和运行4.1 运行项目4.2 输出 Hello World五、注意事项5.1 包路径错误5.2 小结:约定大于配置六、总结一、什么是 Spring Boot Spring 的诞生是为了简化 Java 程序的开发的&…

GAMES101-现代计算机图形学入门-闫令琪 课程笔记 - 汇总(上)

一些前言与感慨: 学了再多的AI,终究还是没有办法拒绝计算机图形学的魅力。当初就不该一招不慎,踏入AI的坑。 可惜当年在学校里学计算机图形学的时候,还没有闫令琪这么好的课程,当时学得一知半解,云里雾里…

极市直播回放第106期丨阿里达摩院:兼顾速度与精度的高效目标检测框架DAMO-YOLO

阿里巴巴达摩院智能计算实验室团队设计并开源了一款兼顾速度与精度的目标检测框架DAMO-YOLO,其性能超越了目前的一众YOLO系列方法,在实现精度SOTA的同时,保持了很高的推理速度。DAMO-YOLO是在YOLO框架基础上引入了MAE-NAS、efficient-RepGFPN…

cas:1628790-40-8|脂溶性Cyanine7-COOH|CY7-Carboxylic Acid

cas:1628790-40-8|脂溶性Cyanine7-COOH|CY7-Carboxylic Acid 名称:脂溶性Cyanine7-COOH|CY7-Carboxylic Acid cas:1628790-40-8 英文同义词: Cy7;Colpro;Prothil;R-13615;Cy7-COOH;CY7ACID;Cy7NHS;AY-62022;Cy7,>97%;Sulfo-Cyanine7 中文名称:磺基-CY7羧酸 …

【小甲鱼C语言】课后笔记第一章第四节——数据类型

目录 1、数据类型 2、short 和 long 3. sizeof 运算符 4. signed 和 unsigned 5、课后习题(编程题) 1、数据类型 在 C 语言里,所谓的数据类型就是坑的大小。我们说变量就是在内存里边挖一个坑,然后给这个坑命名。那么数据类型…

U盘格式化后能恢复数据吗?U盘删除的数据还能恢复吗

U盘格式化后能恢复数据吗?通常情况下,我们U盘里的数据丢失后,它们并没有立即消失,它们只是被系统做了一个标记,将数据存储的位置标记成可写入的状态,只有当新数据写入的时候,这个存储位置才会被…

USB转UART的桥接控制器 国产DPU02能不能软硬件兼容替换CP2102?

DPU02是一个高度集成的USB转UART的桥接控制器,可将RS-232设计更新为USB设计,并简化PCB组件空间。 该DPU02包括了一个USB 2.0全速功能控制器、USB收发器、振荡器、EEPROM和带有完整调制解调控制信号的异步串行数据总线(UART)控制器…

自动驾驶车辆安全保证机制-Mobileye的RSS模型

自动驾驶汽车(AV)将如何与人类司机安全地共享道路? 成功实现自动驾驶未来的最大威胁之一是对自动驾驶汽车安全驾驶的含义缺乏共识。只有当行业、政府和公众有一个共同的方式来理解和评估自动驾驶汽车(AV)的驾驶技能和安全,他们才会被信任,可以安全地与人类驾驶的车辆一起…

Go1.19.3 数组与切片原理简析

数组 Go语言数组,声明有如下几种方式: var arr1 [10]intarr1[0] 10000var arr2 [10]int{0:0,2:2}var arr3 [...]int{1,2,3}其中arr1只是进行声明,数组在声明时,内存空间已经被开辟过,所以可以赋值。arr2是声明的同…

javafx 编写管理页面 增删改查

注册界面&#xff1a;用户通过输入页面信息&#xff0c;点击注册&#xff0c;将数据存入数据库中。 <Tab text"用户注册"> <content> <AnchorPane minHeight"0.0" minWidth"0.0" prefHeight"761.0" prefWidth"819…

Vue的四个常用选项

文章目录前言一、四大选项简介二、filters&#xff08;过滤器&#xff09;三、computed&#xff08;计算属性&#xff09;四、methods&#xff08;方法&#xff09;五、watch&#xff08;观察&#xff09;总结:前言 本文讲解了vue.js中的四个常用选项&#xff0c;4个参数选项&…

数据结构——归并排序

坚持看完&#xff0c;结尾有思维导图总结 这里写目录标题归并排序的思路归并算法的图解具体程序对性质的分析归并排序的非递归版本总结归并排序的思路 首先第一个问题是&#xff0c;什么是归并排序&#xff1f; 官方的说法: 归并排序&#xff08;MERGE-SORT&#xff09;是建立…

pikachu靶场-7 不安全的文件下载和上传

不安全的文件下载和上传 不安全的文件下载 文件下载&#xff08;unsafedownload&#xff09;漏洞概述 很多网站都会提供文件下载功能&#xff0c;即用户可以通过点击下载链接&#xff0c;下载到链接所对应的文件。 但是&#xff0c;如果文件下载功能设计不当&#xff0c;则…

基于51单片机的数字频率计设计

仿真原理图&#xff1a; 程序运行图&#xff1a; 部分程序&#xff1a; #define LED_GLOBAL 1 #include "led.h" /******************************************************************************************* *函数名称&#xff1a;delay_us(uint us) *函数…

15.JavaScript 02

文章目录一、DOM简单学习&#xff1a;为了满足案例要求1、DOM知识点简单学习2、事件简单学习3、案例1&#xff1a;电灯开关二、BOM1、概念2、组成3、Window&#xff1a;窗口对象1. Window窗口对象知识点2. 案例2&#xff1a;轮播图4、Location&#xff1a;地址栏对象1. Locatio…