Selenium WebDriver测试举例 -- Antd DragSortTable

这篇具有很好参考价值的文章主要介绍了Selenium WebDriver测试举例 -- Antd DragSortTable。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

selenium network.setrequestinterception,软件测试,自动化测试,职场日常,selenium,测试工具,jmeter,软件测试,python,自动化测试,程序员

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)_软件测试刷题小程序-CSDN博客文章浏览阅读2.8k次,点赞85次,收藏12次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……_软件测试刷题小程序https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502在Web应用中,可拖拽列表组件提供了极佳的用户体验,允许用户通过拖放操作来重新排序列表项。Ant Design (Antd) 是一个流行的React UI库,它提供了一个功能丰富的可拖拽列表组件:DragSortTable。本文将演示如何使用Selenium WebDriver对Antd Pro的DragSortTable组件进行自动化测试,确保其拖拽功能按预期工作。

测试目标 🎯

测试Antd的DragSortTable组件时,我们的目标是验证是否可以通过拖拽操作来改变列表项的顺序。具体来说,我们将执行以下步骤:

  1. 定位到可拖拽的列表项。
  2. 执行拖拽操作,改变列表项的顺序。
  3. 验证列表项的顺序是否已按照拖拽后的顺序进行了更新。

测试环境准备 🛠️

  1. 安装Selenium:确保已安装Selenium库。

    pip install selenium 
  2. 下载WebDriver:根据你使用的浏览器类型(如Chrome、Firefox等),从相应的官方网站下载WebDriver。

  3. 运行Antd Pro项目:确保你有一个运行中的Antd Pro项目,且其中包含DragSortTable组件。

编写测试脚本 📝

接下来,我们将编写一个Selenium测试脚本,模拟用户拖拽列表项的操作。

步骤 1: 初始化WebDriver

首先,我们需要创建一个WebDriver实例,并打开Antd Pro的DragSortTable组件所在的页面。

from selenium import webdriver

driver = webdriver.Chrome()  # 或使用其他浏览器
driver.get("http://localhost:8000/path/to/drag-sort-table")  # Antd Pro拖拽列表页面的URL

步骤 2: 定位可拖拽的列表项

使用Selenium的定位功能找到我们想要拖拽的列表项。通常,可拖拽的列表项会有一个特定的类名或ID。

from selenium.webdriver.common.action_chains import ActionChains

# 假设第一个和第二个列表项的选择器为.item-0和.item-1
source_element = driver.find_element_by_css_selector(".item-0")
target_element = driver.find_element_by_css_selector(".item-1")

步骤 3: 执行拖拽操作

使用ActionChains模拟拖拽操作。

actions = ActionChains(driver)
actions.drag_and_drop(source_element, target_element).perform()

一般来说,拖拽完成之后,前端会发送一个post请求将最新顺序上报给后端,而后端会返回排序之后的新的列表数据。这就要求使用Selenium WebDriver检测HTTP请求。因此,在自动化测试中,除了验证UI的变化,有时还需要验证后台是否正确处理了这些操作。不过,直接通过Selenium WebDriver检测HTTP请求较为复杂,因为WebDriver主要关注于浏览器端的行为模拟和状态检测。为了实现这一需求,我们可以采用以下方法:

方法:使用浏览器开发者工具API(推荐Chrome DevTools Protocol)

某些浏览器,如Chrome,提供了一套开发者工具API(Chrome DevTools Protocol,简称CDP),允许我们检测浏览器的网络活动。Selenium 4及以上版本开始支持与CDP的集成,使我们能够捕获和分析HTTP请求。

步骤 3.1:捕获HTTP请求

在执行拖拽操作后,我们可以使用CDP来监听网络请求,并检测是否发送了特定的HTTP请求。

from selenium.webdriver import Chrome
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from webdriver_manager.chrome import ChromeDriverManager

driver = Chrome(service=ChromeService(ChromeDriverManager().install()))

# 启用Network域
driver.execute_cdp_cmd('Network.enable', {})

# 设置网络请求的监听
def request_listener(request):
    print("Request URL:", request['request']['url'])
    # 这里可以添加更多的逻辑来检查请求的URL、方法等

driver.execute_cdp_cmd('Network.setRequestInterception', {
    'patterns': [{'urlPattern': '*', 'resourceType': 'XHR', 'interceptionStage': 'HeadersReceived'}]
})
driver.request_interceptor = request_listener

# 执行拖拽操作...

步骤 3.2:等待请求完成

由于网络请求是异步的,我们需要确保在验证列表顺序变化之前,特定的HTTP请求已经成功完成。这通常需要在测试脚本中实现逻辑等待,例如使用time.sleep()简单等待,或更好的是,使用WebDriverWait等待特定条件的满足。

import time

# 简单等待示例
time.sleep(5)  # 等待5秒,确保请求完成

# 或使用WebDriverWait等待页面元素状态变化作为请求完成的标志

步骤 4: 验证列表项顺序变化

拖拽操作完成后,我们需要验证列表项的顺序是否发生了变化。这通常需要根据你的具体实现来编写相应的验证逻辑。

# 验证第一个列表项是否已经变为之前的第二个列表项
# 注意:这里的验证逻辑依赖于你的具体实现,可能需要调整
new_first_item = driver.find_element_by_css_selector(".item-0")
assert new_first_item.text == target_element.text

步骤 5: 清理测试环境

测试完成后,别忘了关闭浏览器。

driver.quit() 

结语 🌟

通过上述步骤,我们演示了如何使用Selenium WebDriver对Antd Pro的DragSortTable组件进行自动化测试。这只是Selenium自动化测试能力的冰山一角。Selenium提供了丰富的API来支持复杂的Web应用测试,包括但不限于表单提交、弹窗处理、异步内容等。熟练掌握Selenium WebDriver,可以大大提高Web应用的测试效率和质量。希望本文能够为你在自动化测试的旅程上提供一些帮助和启发。

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

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

selenium network.setrequestinterception,软件测试,自动化测试,职场日常,selenium,测试工具,jmeter,软件测试,python,自动化测试,程序员

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。selenium network.setrequestinterception,软件测试,自动化测试,职场日常,selenium,测试工具,jmeter,软件测试,python,自动化测试,程序员
selenium network.setrequestinterception,软件测试,自动化测试,职场日常,selenium,测试工具,jmeter,软件测试,python,自动化测试,程序员

selenium network.setrequestinterception,软件测试,自动化测试,职场日常,selenium,测试工具,jmeter,软件测试,python,自动化测试,程序员

selenium network.setrequestinterception,软件测试,自动化测试,职场日常,selenium,测试工具,jmeter,软件测试,python,自动化测试,程序员文章来源地址https://www.toymoban.com/news/detail-845836.html

到了这里,关于Selenium WebDriver测试举例 -- Antd DragSortTable的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • UI自动化测试篇 :Selenium2(Webdriver)&TestNG自动化测试环境搭建

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!    最开始学习UI自动化,用的工具是QTP10,用起来确实比较容易上手

    2024年03月10日
    浏览(63)
  • selenium+python自动化测试之使用webdriver操作浏览器的方法

    WebDriver简介 selenium从2.0开始集成了webdriver的API,提供了更简单,更简洁的编程接口。selenium webdriver的目标是提供一个设计良好的面向对象的API,提供了更好的支持进行web-app测试。从这篇博客开始,将学习使用如何使用python调用webdriver框架对浏览器进行一系列的操作 打开浏览

    2024年01月25日
    浏览(59)
  • Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

    基本于Python语言 和 Selenium框架,使用PyCharm 开发环境,详细介绍自动化测试环境的搭建 以及 基本的使用方法。 Python环境目前已被大部分主流操作系统所支持,比如在Linux、Mac、Unix等系统上就自带了Python环境,但在Windows系统上目前还需要自己安装,(当然如已经安装过了的话

    2024年02月03日
    浏览(67)
  • Python+Selenium.webdriver实现WEB端UI自动化测试(实例脚本)

            本篇记录基于Python+Selenium.webdriver实现WEB端UI自动化测试,其中测试用例使用excel维护。为了在实际项目种的扩展应用,建议学习webdriver的元素定位方法,欢迎在评论区沟通讨论。 该示例选取的是登录页不需要输入验证码校验的基础页面(考虑到现在大部分项目都是

    2023年04月08日
    浏览(55)
  • Web自动化测试:selenium的使用以及关于driver=webdriver.Firefox()无驱动报错问题

    Selenium是一个用于Web应用程序测试的工具。 主流的自动化测试工具有: web自动化测试:selenium、robot framework App端自动化测试:Appium、Monkeyrunner、UIautomation PC客户端(win32)自动化测试:QTP 接口自动化测试:Jmeter、Postman、httpUnit、RESTClient 云测平台:Testin Testbird 性能测试:Jm

    2024年02月09日
    浏览(70)
  • selenium自动化测试中,避免频繁更新浏览器driver的解决方案:webdriver-manager

            大家在本地进行web自动化脚本调试时候是不是会遇到driver的版本和浏览器不一致导致用例无法执行的问题,是否需要过下载driver需要百度的问题,下载了driver后不能开启浏览器自动更新的问题。现在有一种解决方案可以很好的帮助大家解决上述问题。         w

    2024年02月09日
    浏览(65)
  • Selenium/webdriver原理解析

     最近在看一些底层的东西。driver翻译过来是驱动,司机的意思。如果将webdriver比做成司机,竟然非常恰当。 我们可以把WebDriver驱动 浏览器 类比成出租车司机开出租车。在开出租车时有三个角色: · 乘客:他/她告诉出租车司机去哪里,大概怎么走。 · 出租车司机:他按照

    2024年02月14日
    浏览(49)
  • selenium+webdriver爬虫技术

    百度百科Selenium时,头一段文字介绍了selenium的主要作用和特点:selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:

    2024年02月13日
    浏览(86)
  • Selenium WebDriver 开发实战

    WebDriver提供的一系列对象定位方法,获取元素,实现测试用例。现在我们先来写一些调试代码,看看是否能成功驱动浏览器执行操作。 各行代码的作用分别如下: 之前已经安装了Selenium,第1行用于从Selenium库中导入webdriver模块。Selenium库中有common和webdriver两个模块,common模块

    2024年01月17日
    浏览(42)
  • Python + Selenium WebDriver

    Python + Selenium WebDriver 一、搭建环境步骤 1、安装 python3.x (windows xp 不支持 python3.5+) 2、设置环境变量 path(安装时候也可以解决 勾上 add python.ext to path) 3、安装Selenium 用pip命令安装 pip install -U selenium 4、路径,pip可能定位不到,pip也可能定位到别的文件夹(perl) 方案:cd

    2024年02月12日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包