测试之selenium快速入门

Selenium自动化测试框架入门指南 Selenium是一个广泛应用于Web自动化测试的工具集,允许您在多种浏览器和操作系统上模拟人类用户在网站上的行为。它由多个组件组成,其中最常用的组件是Selenium WebDriver,它提供了一组API,可用于创建自动化测试脚本,并与网页进行交互。模拟用户在页面上的操作,如单击、输入、选择等定位并操作页面元素,如文本框、按钮、下拉列表等处理弹出框和警告信息控制浏览器的行为,如打开/关闭选项卡、切换窗口等执行JavaScript代码等待页面加载完成或特定元素出现等条件。 阅读详情

1.什么是selenium?

   selenium是一个常用的web测试框架或者爬虫框架,用了它之后,我们就不用点点点了,因为他有一系列的api提供我们使用,例如我们要点页面中的某一个按钮,那么我们只需要获取页面,然后根据id或者name找到对应的按钮,然后执行click操作就可以完成点击这一个动作。

2.为什么要用selenium?

  点点点虽然容易复现,但做回归测试的时候会出现大量重复的工作,编写自动化测试之后,每次做回归测试我们只需要运行相关的脚本即可。

3.基本用法

  基础架构图:

我们可以看到selenium由2部分组成,webdriver和client,webdriver负责接收client的请求,并且根据请求去做相关的操作,webdriver的版本是要求符合浏览器的版本,如果webdriver的版本和浏览器的版本不符合就没法操作,client就是我们写的逻辑操作。

样例1:(拉取糗事百科 前13页文章标题)

from selenium import webdriver

if __name__ == '__main__':
    browser = webdriver.Chrome()  # 声明浏览器
    page = 2
    while page <= 13:
        url = 'https://www.qiushibaike.com/8hr/page/{0}/'.format(page)
        browser.get(url)  # 打开浏览器预设网址
        text_list = browser.find_elements_by_class_name("recmd-content")  # 打印网页源代码
        for i in text_list:
            print(i.text)
        page+=1
    browser.quit()  # 关闭浏览器

样例2:(进入百度,在搜索框输入文字,并搜索)

from selenium import webdriver
import time
if __name__ == '__main__':
    browser = webdriver.Chrome()  # 声明浏览器
    url = 'https://www.baidu.com/'
    browser.get(url)  # 打开浏览器预设网址
    text = browser.find_element_by_name("wd")
    text.send_keys("hello")
    but = browser.find_element_by_id("su")
    but.click()
    time.sleep(2)
    print(browser.page_source)
    browser.quit()  # 关闭浏览器

由上面2个例子我们可以得知,我们想用这个框架的前提,需要我们知道基本的前端知识,例如id,class,name等是个什么东西,然后我们再去分析页面,根据逻辑流程写出我们想要的代码。

Python + Selenium 入门教程:Web 自动化测试快速入门 启动浏览器等。打开网页get()方法。查找元素或方法。输入文本方法。模拟点击click()方法。执行 JavaScript方法。等待元素加载: 隐式等待和显式等待。关闭浏览器quit()方法。通过本教程,你已经学习了如何使用 Python 和 Selenium 进行 Web 自动化操作。我们从基础的浏览器启动、元素查找、表单输入,到模拟点击和等待机制,都做了详细的讲解。在实际应用中,Selenium 能够帮助我们实现 Web 应用程序的自动化测试和数据抓取等功能。 阅读详情

相关推荐

NCCL分布式训练中ibv_reg_mr_iova2内存分配失败的3种解决方案(附详细排查流程)

本文深入探讨了NCCL分布式训练中ibv_reg_mr_iova2内存分配失败的3种解决方案,包括快速临时修复、标准系统配置和PAM模块根治方案。详细分析了错误原因,提供了完整的排查流程和性能优化建议,帮助开发者高效解决RDMA网络环境下的内存锁定问题。

nut55的博客 624

Selenium快速入门

Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。适用于等领域。

weixin_64313980的博客 2165

国产FPGA逆袭!深度评测复旦微RFVU3P5G核心板在相控阵雷达中的表现

本文深度评测了复旦微RFVU3P5G核心板在相控阵雷达中的实战表现。该核心板凭借射频直采架构、高采样率ADC/DAC及丰富的DSP资源,在多通道同步精度、动态范围及系统稳定性等关键指标上表现出色,展现了国产FPGA在高端雷达应用中的硬核实力与供应链自主价值。

b0c1d2的博客 722

Selenium入门详细教程+实例演示

详细介绍了selenium的概念,环境搭建以及具体的详细示例和用法,对于每一个重点场景做出了对应的自动化代码测试

zhaolk的博客 3万+

人大金仓的‘影子表’sys_user:搞懂Schema优先级,告别字段不存在的报错

本文深入解析人大金仓数据库中‘影子表’sys_user的Schema优先级问题,帮助开发者解决字段不存在的报错。通过分析Schema搜索路径机制,提供四种解决方案,包括连接时指定Schema、动态调整搜索路径、永久修改用户设置和使用完全限定表名,确保查询准确无误。

weixin_30329623的博客 596

手把手教你用mitmproxy抓包抖音数据流(附Python脚本模板)

本文详细介绍了如何使用mitmproxy抓包抖音数据流,包括环境搭建、证书安装和Python脚本模板。从mitmproxy配置到抖音API解析,提供完整的移动端数据流分析方案,帮助开发者快速掌握数据抓取技术,适用于应用优化、竞品分析和安全审计等场景。

weixin_33670786的博客 307

selenium新手入门

从零入门,最简单,最易接受的新手安装指南

weixin_45230019的博客 4428

Tessy学习系列(三):单元测试——官方例程isValueInRange

注意:工程名称以及路劲不能包含空格和中文

不吃鱼的猫的博客 2345

Python WEB UI自动化测试(1)-Selenium基础(史上最详细,一篇就够)

对于每一条Selenium脚本,一个http请求会被创建并且发送给浏览器的驱动,浏览器驱动中包含了一个HTTP Server,用来接收这些http请求,HTTP Server接收到请求后根据请求来具体操控对应的浏览器,浏览器执行具体的测试步骤,浏览器将步骤执行结果返回给HTTP Server,HTTP Server又将结果返回给Selenium的脚本,如果是错误的http代码我们就会在控制台看到对应的报错信息。选取最前面的两个属于 bookstore 元素的子元素的 book 元素。

qq_42114233的博客 2660

CCS20实战入门:第一个工程搭建示例

通过实际操作演示如何在ccs20中创建并配置首个开发项目,涵盖环境设置与基础调试步骤,帮助新手快速上手ccs20集成开发环境,提升嵌入式开发效率。

weixin_31185473的博客 883

AI 大模型接口太零散?自建私有模型管理平台统一整合,管理使用超方便!(支持飞牛nas、群晖nas等服务器快速部署)

面对多种 AI 大模型接口难统一、管理繁琐的问题🤯,本文分享一款超实用开源网关工具⚡,可聚合各大模型、自动转接口、支持可视化管理,Docker 一键部署,大幅降低开发与维护成本🚀

XiaoqiangClub的博客 266

Java使用Selenium(自动化测试)快速入门

Selenium 是一个功能强大的自动化测试工具,可以帮助开发者和测试人员提高测试效率和准确性。通过webdriver来控值浏览器的行为与操作。本文展示了selenium的概述和利用selenium控制浏览器打开www.baidu.com,并在搜索框中输入内容,并触发搜索的示例。

z3585的博客 1060

YOLOv8 模型进化全解析:百种创新模块集成方法与实战部署指南(附资料链接)

动态网络 | DeformableConv/DynamicHead| +2.8% || 轻量化卷积 | GhostConv/MobileConv | +1.2% || 多尺度融合 | AFPN/ASFF | +3.5% || 注意力机制 | CA/EMA/SimAM | +1.8-4.2% |

FJN110的博客 110

快速入门Selenium自动化测试

而前端工程师则可以充分利用自己所掌握的JavaScript相关API,来替换Selenium中的一些API,从而更快地入门。Selenium支持的编程语言有Java、Python、C#、Ruby、JavaScript、Kotlin,Python可能是最常用的语言,很多Selenium教材都是以Python作为编程语言。查看页面元素的代码可知,搜索框的id为query,根据基础的JavaScript知识,如果在firefox的开发者控制台中执行以下JavaScript代码,可以在搜索框中输入。

kk_lzvvkpj的博客 1117

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

前端工程师快速入门Selenium自动化测试

从代码结构的角度看,连续两段driver.executeScript命令可以合并在一起,且driver.executeScript命令经常用但有些长,可以用一个名字短一点的函数替代。代码优化为:

kk_lzvvkpj的博客 1052

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

自动化测试 Selenium 快速入门

Actions类可以帮助我们实现鼠标操作,Actions类的方法是用来创建一系列的操作,但是不会立即执行,而是存放在一个队列中。这个元素的ID是"元素id"。如果这个元素有name属性,并且元素的name命名在整个页面是唯一的,那么我们可以用name来定位这个 元素。隐式等待的优点是简单易用,缺点是不能针对特定的元素或条件进行灵活的调整。通过下面的 API,可以获取页面上的标签对象,从而来操作它们。frame 是一个 HTML 元素,它定义了一个特定区域,另一个 HTML 文档可以在里面展示。

chengxuyuznguoke的博客 1121

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

web自动化测试-第一讲:selenium快速入门

test

weixin_44844572的博客 6638
上一篇: 测试之等价类划分
下一篇: 设计模式之生成器模式
天天爆零
博客等级 码龄10年 15粉丝 170原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值