• 我的订阅
  • 科技

自动化测试项目实战 | 打开浏览器

类别:科技 发布时间:2023-02-05 10:00:00 来源:书圈
自动化测试项目实战 | 打开浏览器

演示了如何使用Selenium创建和运行第一个Web自动化测试用例。

01

打开浏览器

要使用Selenium打开浏览器,就需要安装对应编程语言的客户端,执行命令即可安装Selenium Python客户端,命令如下:

pip installselenium

除了安装Selenium Python客户端,还需要下载并配置对应浏览器的浏览器驱动程序。

说明/

由于macOS已经内置了Safari浏览器驱动程序,因此Safari无须单独下载浏览器驱动程序。

以Windows操作系统为例,下载浏览器驱动程序后将其中的EXE可执行文件复制到E:\\Other\\BrowserDriver目录,读者也可根据实际情况修改放置的目录。

说明/

浏览器驱动版本需要与浏览器版本匹配,否则在运行测试脚本时会抛出SessionNotCreatedException异常,导致无法打开浏览器。浏览器驱动版本与浏览器版本的匹配关系在浏览器驱动下载页面会有说明,下载前应仔细查看。

为了方便使用浏览器驱动程序,需要将浏览器驱动程序的路径加入系统Path变量中,如图4-13所示。

自动化测试项目实战 | 打开浏览器

■ 图4-13增加系统Path变量

说明/

macOS或Linux操作系统可通过执行export PATH=$PATH:/path/to/browserdriver≥~/.profile命令添加系统Path变量。

接着在chapter_04包中新增learning_selenium子包,在learning_selenium子包中新增open_browser模块,并编写一些简单的测试代码用于打开浏览器,加载指定URL和关闭浏览器。

【例4-1】打开浏览器,加载指定URL和关闭浏览器。

以上代码中实例化Chrome对象实际上是打开Chrome浏览器,然后分别调用Chrome对象的get和quit方法用于加载WFT首页和关闭浏览器。这里的Chrome对象实际上是一个Chrome浏览器会话,变量名称习惯上使用driver,因此后续内容将以driver代称该浏览器会话。

说明/

WFT(Web For Test)是笔者开发的一个用于学习自动化测试的项目,包含了文本框、文本区域、复选框、单选框和下拉列表等常见Web元素。

将quit方法放在finally语句中,是为了保证即使发生异常时也能及时关闭浏览器以释放系统资源。由于Selenium Python客户端实现了上下文管理器,因此建议直接使用with…as语句来代替try…finally语句,代码如下:

除了打开Chrome浏览器,也可以打开其他浏览器,如Firefox,代码如下:

从以上代码可以看出,在逻辑上,打开Firefox浏览器和Chrome浏览器没有差别,只是将实例化Chrome对象换成了实例化Firefox对象而已。

常规的浏览器的运行方式是使用有界面的方式,但出于提高执行效率或需要在Linux无界面场景下执行Web自动化测试的目的,还可以使用浏览器的无头模式,该模式提供了无界面的浏览器运行方式。

对于Chrome浏览器,要使用无头模式,首先需要创建一个ChromeOptions对象,并向其中添加--headless参数,然后将ChromeOptions对象传递给options关键字参数以实例化Chrome对象,代码如下:

在执行以上代码时,并没有打开Chrome浏览器的界面,但是执行结果却是成功的,说明此时Chrome浏览器使用的是无头模式。

Firefox浏览器也支持无头模式,只需要将ChromeOptions对象替换成FirefoxOptions对象,并添加--headless参数即可开启Firefox浏览器的无头模式。

说明/

除了Chrome和Firefox浏览器的无头模式,还有本身就是无界面的浏览器,比如流行的PhantomJS、HtmlUnit等,它们被广泛用于网页爬取、测试等。有兴趣的读者可自行查阅相关资料进行了解。

实例讲解

自动化测试项目实战

从入门到精通(微课视频版)

精彩回顾

第一个unittest示例

演示了如何使用unittest创建和运行第一个单元自动化测试用例。

第一个pytest示例

演示了如何使用pytest创建和运行第一个单元自动化测试用例。

简单请求和响应

演示了如何使用Requests创建和运行第一个HTTP接口自动化测试用例。

使用Java API

演示了如何使用Java API创建和运行第一个Dubbo接口自动化测试用例。

下期预告

打开待测应用程序

演示了如何使用Appium创建和运行第一个App自动化测试用例。

编写简单测试用例

以实际项目为依托,介绍如何编写一个简单的自动化测试用例。

将公共部分封装为函数

介绍如何将公共部分封装为函数,这是使用模块化来优化自动化测试用例的一种方法。

搭建Python私有仓库

介绍如何搭建一个Python私有仓库,以便使用函数库的方式来优化自动化测试用例。

使用Excel作为数据源

介绍如何使用Excel作为数据源进行数据驱动测试。

变量和常量

介绍关键字驱动测试框架Robot Framework中的变量和常量的用法。

自定义匹配器

介绍第三方断言函数库PyHamcrest的自定义匹配器功能。

02

参考书籍

书名:自动化测试项目实战——从入门到精通(微课视频版)

⇡ ⇡ ⇡ 点击上图查看更多图书信息 ⇡ ⇡ ⇡

本书特色

(1) 理论与实战案例结合。知识脉络全面、清晰,学习路线明确,案例丰富,便于读者学习知识点。

(2) 内容合理,循序递进。提供基础篇、进阶篇、实战篇的内容,以满足不同层次读者的需求。

(3) 视频讲解,强化实操。为第7章中项目案例实操部分配备微课视频讲解,便于读者理解、学习和掌握。返回搜狐,查看更多

责任编辑:

以上内容为资讯信息快照,由td.fyun.cc爬虫进行采集并收录,本站未对信息做任何修改,信息内容不代表本站立场。

快照生成时间:2023-02-05 10:45:13

本站信息快照查询为非营利公共服务,如有侵权请联系我们进行删除。

信息原文地址:

自动化测试项目实战 | 使用Java API
演示了如何使用Java API创建和运行第一个Dubbo接口自动化测试用例。01使用Java API由于本节需要使用到Java
2023-02-04 10:00:00
ui自动化测试技术发展历程
...临的重要挑战。民生银行从2018年开始基于原有的APP和WEB自动化测试能力,在自研的云测试平台基础上搭建了基于AI的UI自动化测试体系,通过五大关键能力,实现了端到端的UI
2024-04-04 02:40:00
用Playwright 进行组件测试
...境中测试Web组件。它支持Chrome、Firefox和Safari等浏览器的自动化,并提供用于与页面、元素交互和调试的API
2023-04-23 15:38:00
数字音频工作站FL Studio 21永久免费升级2023高级完整破解解锁版
...具吸引力的形式对各种音频文件感到惊讶。它具有强大的自动化功能以及内置插件。该设施肯定可以满足专业音乐家的所有需求。在下面,给出详细的FL 工作室评论。专业外观在第一阶段,它的
2023-01-01 05:00:00
TRAE官宣2.0品牌升级,全新推出SOLO模式
...行完整闭环的工程化实践体验。SOLO模式提供了一种高度自动化的开发方式,可自动规划并执行从需求理解、代码生成、测试,到成果预览的全流程。在SOLO模式下,用户可通过自然语言描
2025-07-23 12:05:00
Claude 3.5深夜觉醒,学会模仿人类用电脑!编程干翻o1,Agent一夜变天
...模型均取得了实质性进步The Browser Company:在使用该模型自动化网络工作流程时发现,Claude 3
2024-10-23 09:55:00
谷歌开源浏览器证书有效期从398天缩短到90天
...的,他们会让用户接受错误并直接点击进入他们的攻击。自动化方案依然存在挑战要大规模缓解这些挑战,唯一的办法就是在机器身份管理中实现自动化。在动态和短暂的云原生环境中,必须建立一
2024-02-21 02:07:00
制定整体数字测试计划
...动应用程序)的整体用户体验。这种类型的测试通常涉及自动化工具和手动测试,以确保产品可访问、易于使用,并且没有错误或其他技术问题。数字测试的目标是确保产品易于使用、具有视觉吸引
2023-04-16 18:11:00
theregister测试supermium浏览器版本上线
...线的Supermium项目值得尝试,可以让你使用较新版的“Chrome浏览器”。Supermium浏览器有32位和64位两种版本
2024-03-08 01:27:00
更多关于科技的资讯:
8月28日,秦皇岛市海港区阿尔勃特空间智能(河北)视觉技术有限公司展示区,公司副总经理朱晓明用语音进行操作,要求机器人“鲁班1号”打好对应工位的螺丝
2025-09-10 08:27:00
第六届中国人工智能大赛在厦启动 描绘“数实融合”新图景
扫码了解详情厦门网讯(厦门日报全媒体记者 翁华鸿)在生成式人工智能持续迭代演进、与实体经济深度融合的背景下,一场高规格的人工智能盛会再度在厦门启航
2025-09-10 08:27:00
上海人工智能实验室主任、首席科学家周伯文:“人工智能+供应链”创新成果将在厦涌现
周伯文。(厦门日报全媒体记者 王火炎 摄)厦门正在全力推进国家人工智能应用中试基地建设,一批“人工智能+供应链”的创新成果有望在此加速涌现
2025-09-10 08:58:00
随着中报陆续披露,在今年国内医疗器械行业普遍承压的大环境下,鱼跃医疗交出了一份营收、净利双增的亮眼答卷,其中海外业务同比增长26
2025-09-10 09:17:00
上海时尚之都的形象深入人心,时装之外,上海还是一座美妆之城。今年8月,胡润研究院发布《2025 CBE·胡润中国彩妆品牌TOP50》报告
2025-09-10 10:55:00
当消费市场从规模竞赛转向价值深耕时,一场以民生需求为罗盘的产业变革正加速演进。国家统计局日前发布的数据显示,今年1—7月
2025-09-10 10:55:00
青岛锐智智能装备科技股份有限公司:科技创新引领高质量发展
鲁网9月10日讯(记者 葛万彩)在国际国内市场竞争异常激烈的形势下,青岛锐智智能装备科技股份有限公司靠科技人员自主研发
2025-09-10 11:20:00
AirPods Pro 3 登场了!耳机支持测心率,实时翻译功能国行暂不支持
在今日凌晨举行的“前方超燃”苹果发布会上,AirPods Pro 3正式亮相。这款耳机不仅延续了苹果经典的简约设计和出色音质
2025-09-10 11:24:00
重大变革!iPhone17将仅支持eSIM,不再配备实体卡槽,苹果官网默默下架iPhone16pro
9月10日,在凌晨举行的苹果2025秋季新品发布会上,苹果宣布,“史上最薄”iPhone Air 将在全球范围内统一采用仅支持eSIM的设计
2025-09-10 11:24:00
大众网记者 徐浩 通讯员 李琛 潍坊报道近年来,随着大数据、云计算、人工智能等技术的快速发展,保险行业数字化转型步伐持续加快
2025-09-10 11:49:00
高端成效凸显!深圳首家卡萨帝体验中心开业,套购占比超6成
下半年以来,伴随卡萨帝高端化战略布局的持续深化,全国城市体验中心加速落地,战略成效进一步凸显。8月31日,位于深圳市福田区的深圳首家卡萨帝城市体验中心正式开业
2025-09-10 14:14:00
加加酱油七年减盐路引领行业革新,净利润跃升129%书写转型典范
今日,记者从宁乡市获悉,当中国调味品行业仍在价格战的泥潭中挣扎时,加加食品(002650.SZ)用一份亮眼的半年报,为行业开辟出一条价值增长的新路径
2025-09-10 14:16:00
“佳直播”携手爱奇艺打造明星感4K超高清直播间,助力内容电商激活商业价值
2024年,我国直播电商市场规模已达5.8万亿元,用户规模突破5.97亿,业态早已从实物商品销售扩展至本地生活服务、虚拟内容付费等多元领域
2025-09-10 14:17:00
掌阅科技17周年庆,全面布局多元内容,探索数字化创新新机遇
2025年,掌阅科技迎来成立17周年,正式发布全新使命“让创作点亮美好时光”,同时启用全新Slogan“悦享美好时光”
2025-09-10 14:18:00
中新经纬9月10日电 据中国移动官网消息,10日中国移动发布《关于部分国际漫游套餐产品更新调整的公告》称,自2025年9月16日0时起
2025-09-10 14:41:00