准备WebUI自动化测试面试?这30个问题你必须掌握(一)

本文共有8600字,包含了前十五个问题,如需要后十五个问题,可查看文末链接~

1. 什么是WebUI自动化测试?

WebUI自动化测试是指使用自动化测试工具和技术来模拟用户在Web用户界面(UI)上执行操作,并验证系统的行为是否符合预期。它涉及编写和执行自动化测试脚本,以代替手动测试过程,从而提高测试效率和准确性。

在WebUI自动化测试中,通常使用一种或多种编程语言和测试框架来编写测试脚本。这些脚本可以模拟用户在Web应用程序中的交互行为,例如点击按钮、输入文本、选择下拉菜单等。通过自动执行这些脚本,测试人员可以快速而准确地检查应用程序的功能、性能和稳定性。

WebUI自动化测试的目标是提供一个可靠的测试环境,以验证Web应用程序在不同场景下的正确性和一致性。它可以检测和捕获由于代码更改、功能添加或错误修复引起的潜在问题,从而帮助开发团队提前发现和修复缺陷。

总结起来,WebUI自动化测试是通过编写和执行自动化测试脚本来模拟用户在Web应用程序上的操作,以验证系统行为是否符合预期,提高测试效率和准确性。

2. 为什么要进行WebUI自动化测试?

1. 提高效率和准确性:自动化测试可以代替手动测试过程,通过脚本自动执行测试操作,从而提高测试效率和准确性。相比手动测试,自动化测试可以更快速地执行大量测试用例,减少了人为错误的可能性。

2. 节约成本和资源:自动化测试可以在长期和重复的测试工作中节省时间和成本。一旦测试脚本编写完成,可以重复使用多次,不需要每次都进行手动操作。这也意味着可以通过自动化测试减少需要雇佣大量测试人员的成本。

3. 提高测试覆盖率:自动化测试可以覆盖更广泛的测试场景和测试用例。通过编写各种类型的自动化测试脚本,可以涵盖不同功能、不同数据和不同路径的测试。这有助于发现更多潜在的问题和缺陷。

4. 保证软件质量:自动化测试能够在应用程序的不同版本和迭代之间进行一致的测试。这有助于确保应用程序的功能、性能和可靠性在不同环境和情况下始终如一。

5. 提高持续集成和交付效率:自动化测试是持续集成和持续交付流程中不可或缺的一部分。通过自动化测试,可以快速检测和解决代码集成引起的问题,确保每次构建都是可靠、稳定的。

3. WebUI自动化测试的优势是什么?

WebUI自动化测试有以下几个优势:

1. 提高测试效率:相较于手动测试,自动化测试可以大大提高测试效率。自动化测试脚本可以快速、准确地执行大量测试用例,节省了大量的人力资源和时间。

2. 提高测试覆盖率:通过编写多种类型的自动化测试脚本,可以覆盖更广泛的测试场景和测试用例。这有助于发现更多潜在的问题和缺陷,提高测试覆盖率。

3. 减少人为错误:在手动测试中,由于疲劳、注意力不集中或误操作等因素,人为错误是难以避免的。而自动化测试通过脚本执行减少了人为错误的可能性,提高了测试的准确性。

4. 可重复性和一致性:自动化测试脚本可以重复执行相同的测试步骤,保证测试的一致性。这对于验证应用程序在不同环境和条件下的一致性非常重要,同时也方便了团队成员之间的协作和复现问题。

5. 提前发现缺陷:自动化测试可以帮助团队在开发过程中及早发现潜在问题和缺陷。通过持续执行自动化测试,可以及时捕获代码更改或功能添加引起的问题,从而提高软件质量。

6. 支持持续集成和交付:自动化测试是持续集成和持续交付流程中必不可少的一环。通过自动化测试,可以实现快速而可靠的代码集成和交付,确保每次构建都是稳定的。

4. 你使用过哪些WebUI自动化测试工具?

1. Selenium:Selenium是一个广泛使用的开源自动化测试框架,可用于自动化浏览器操作。它支持多种编程语言(如Java、Python、C#等)和多个浏览器,提供强大的API和丰富的功能,使得开发人员可以编写灵活而可靠的自动化测试脚本。

2. Cypress:Cypress是一个现代化的前端自动化测试工具。它提供了简洁且易于使用的API和强大的调试工具,使得编写、运行和调试WebUI自动化测试变得更加容易。Cypress还提供实时重新加载和自动断言等功能,有助于加速测试过程和提高稳定性。

3. Puppeteer:Puppeteer是Google开发的一个Node.js库,用于控制Chrome浏览器。它可以通过编写JavaScript脚本来模拟用户的交互操作,并提供了丰富的API来进行DOM操作、表单填充、截图等操作。Puppeteer还支持无界面模式和远程调试等功能。

4. TestCafe:TestCafe是一个跨浏览器的自动化测试工具,通过可扩展的JavaScript API来模拟用户操作。它通过自动化代理驱动浏览器,可以在多个浏览器和平台上运行测试,无需安装额外的插件或扩展。

5. 你熟悉哪些WebUI自动化测试框架?

1. Selenium WebDriver: Selenium WebDriver 是一个广泛使用的开源自动化测试框架,用于模拟用户在Web浏览器上的操作。它支持多种编程语言,如Java、Python、C#等。Selenium WebDriver 提供了丰富的API和操作方法,可以实现诸如点击、输入、选择等常见的WebUI操作。

2. Robot Framework: Robot Framework 是一个开源的,用于功能自动化测试的通用框架。它支持关键字驱动的测试方法,并提供了易于理解和编写的自然语言格式。Robot Framework 可以通过 Selenium2Library 和 SeleniumLibrary 这样的库扩展来支持WebUI自动化测试。

3. TestCafe: TestCafe 是一个跨浏览器的自动化测试框架,特别适用于Web应用程序的功能测试。它使用JavaScript API来模拟用户操作,并自动处理浏览器驱动等问题。TestCafe 支持多种浏览器,并提供了一些特性如测试失败重试、移动端测试等。

4. Cypress: Cypress 是一个现代的前端自动化测试框架,主要用于Web应用的端到端测试。它提供了简洁的API和一体化的开发者工具,使得编写、运行和调试自动化测试变得非常便捷。Cypress 还具备实时重新加载、自动断言等功能。

6. 请解释一下Page Object模式在WebUI自动化测试中的作用。

1. 提高测试脚本的可读性和可维护性:Page Object将页面的操作和断言封装成方法,使得测试脚本更易读懂和维护。测试人员可以通过调用Page Object的方法来执行特定的操作,而不需要了解底层的实现或元素定位细节。

2. 提高测试脚本的复用性:通过Page Object模式,测试人员可以将页面的行为和属性封装成独立的对象,这些对象可以在多个测试用例中重复使用。这种复用性可以减少重复编写相同的代码,提高测试脚本的开发效率。

3. 减少测试脚本的维护成本:当页面发生变化时,测试人员只需要在对应的Page Object中修改代码,而不需要在所有的测试脚本中逐一修改。这样有助于减少测试脚本的维护成本,提高对变更的适应能力。

4. 支持团队协作:Page Object模式将页面的操作和断言封装成独立的对象,并提供了清晰的接口,使得开发人员和测试人员可以分工协作。开发人员负责实现Page Object的方法和属性,测试人员则可以通过这些方法来进行自动化测试。

7. 如何选择需要进行WebUI自动化测试的功能或场景?

1. 频繁执行的功能:首先,选择那些需要频繁执行的功能进行自动化测试。这些功能可能包括核心业务流程、关键功能、常规的用户操作等。通过自动化测试,可以提高测试效率并快速发现潜在问题。

2. 稳定性要求高的功能:选择那些对稳定性要求较高的功能进行自动化测试。这些功能可能包括与数据库交互、数据处理、核算逻辑等。通过自动化测试,可以提高功能的可靠性和稳定性。

3. 容易出错的功能:选择那些容易出错的功能进行自动化测试。这些功能可能包括表单验证、数据输入、数据校验等。通过自动化测试,可以减少人为错误,提高测试的准确性。

4. 重复执行的场景:选择那些需要重复执行的场景进行自动化测试。这些场景可能包括不同的数据组合、多浏览器测试、多语言测试等。通过自动化测试,可以确保在不同场景下的一致性和稳定性。

5. 时间和资源限制:考虑时间和资源的限制,选择那些难以通过手动测试覆盖的功能或场景进行自动化测试。在有限的时间和资源下,选择效果较好且对软件质量有较大影响的功能进行自动化测试。

8. WebUI自动化测试中常见的问题有哪些?

1. 页面元素定位问题:自动化测试依赖于准确的页面元素定位,如果页面结构或元素属性发生变化,可能导致定位失败,影响测试结果。因此,定位准确性是一个常见的问题,需要定期检查和更新定位策略。

2. 等待机制不合理:Web应用程序在加载和渲染页面时需要一定的时间,如果等待机制设置不合理,自动化测试可能在页面尚未完全加载或渲染完成时执行操作,导致断言失败或产生误报。恰当的等待机制是确保测试稳定性的关键。

3. 依赖性管理问题:自动化测试可能涉及多个页面或功能之间的关联,如登录后才能访问某些功能。如果依赖关系管理不当,可能导致测试流程中断或执行出错。因此,需要确保测试用例之间的正确顺序和依赖关系。

4. 测试数据准备问题:在WebUI自动化测试中,测试数据的准备和清理是一项重要的任务。如果测试数据准备不足或清理不彻底,可能会影响测试结果的准确性,或者使得测试用例之间相互影响。因此,测试数据管理是一个常见的挑战。

5. 稳定性和可靠性问题:自动化测试依赖于稳定且可靠的测试环境,包括浏览器版本、操作系统、网络连接等。如果测试环境不稳定或不可靠,测试结果可能不可靠,测试执行可能遇到各种问题。

6. 待测应用程序的动态性:Web应用程序的界面和逻辑可能会随着时间的推移进行更改和更新,这可能影响自动化测试的可用性。因此,需要确保自动化测试能够适应应用程序的变化,并定期进行维护和更新。

7. 测试用例设计问题:自动化测试的设计需要合理的测试用例设计,包括边界值测试、异常测试、兼容性测试等。如果测试用例设计不充分或不完整,可能无法充分覆盖功能或场景,影响测试的准确性和效果。

9. 如何处理动态页面元素在WebUI自动化测试中的问题?

1. 使用稳定的定位策略:选择使用稳定的定位策略,以尽量避免动态元素对自动化测试的影响。尽量使用唯一的属性或组合属性进行元素定位,避免使用易变的属性如位置、颜色等。

2. 使用适当的等待机制:在页面渲染或加载时,使用适当的等待机制来保证元素的可见性和可交互性。可以使用显示等待或隐式等待来等待元素的出现或状态变化。

3. 使用模糊匹配或通配符:对于某些动态的元素属性值,可以使用模糊匹配或通配符来进行定位。例如,使用部分文本匹配或正则表达式匹配来定位变化的元素。

4. 动态更新元素定位:如果元素的属性经常变化,可以动态更新元素的定位。在测试运行之前,可以通过获取动态元素的属性并将其替换为固定或可预测的值来实现。

5. 使用相对定位:如果动态元素是在固定元素的上下文中变化的,可以使用相对定位来定位。例如,可以使用相邻元素、父元素或兄弟元素进行相对定位。

6. 更新测试用例和数据:如果页面元素的变化影响了测试用例的执行,可能需要更新测试用例和相关的测试数据。确保测试用例仍然具有正确的预期结果和断言。

7. 反馈和修复:如果页面元素的动态性导致自动化测试的不稳定性,建议向开发团队提供反馈,并与他们合作解决问题。可以要求开发人员添加稳定的元素属性或提供更好的支持。

10. 如何处理浏览器兼容性问题在WebUI自动化测试中?

1. 选择合适的浏览器:首先,选择被广泛使用且与目标应用程序兼容性较好的浏览器进行测试。常见的浏览器如Chrome、Firefox、Safari、Edge等都可以考虑。根据目标用户群体和应用程序的特性,选择主流浏览器进行测试覆盖。

2. 平台适配性测试:测试团队可以尝试在多个操作系统平台上运行自动化测试,例如Windows、MacOS、Linux等。不同操作系统上浏览器的行为和渲染可能有所差异,因此需要确保应用程序在不同操作系统下的兼容性。

3. 设置并检查浏览器窗口大小:不同浏览器窗口大小可能会影响页面布局和元素定位,因此在自动化测试中,可以设置并检查浏览器窗口大小的一致性。这有助于验证页面在不同分辨率下的兼容性。

4. 使用CSS和标准化的HTML:确保应用程序的CSS和HTML遵循标准化规范,尽量避免使用浏览器特定的标签或样式。使用兼容性较好的CSS选择器和HTML元素定位方式,以便在不同浏览器上实现一致的元素定位。

5. 引入浏览器兼容性测试工具:使用浏览器兼容性测试工具,如Selenium Grid、BrowserStack、CrossBrowserTesting等,可以在多个浏览器和操作系统上同时执行测试。这些工具可以模拟真实用户的行为,帮助发现潜在的兼容性问题。

6. 错误处理和忽略:对于已知的浏览器兼容性问题,可以在测试脚本中添加特定的处理逻辑或忽略规则。例如,跳过特定浏览器下已知的失败测试用例,或根据浏览器类型执行不同的断言。

7. 定期更新和维护:由于浏览器的版本迭代较快,测试团队需要定期更新浏览器驱动和测试框架,以确保与新版本的浏览器兼容。同时,也需要定期检查和更新自动化测试脚本,以适应潜在的兼容性问题。

11. 你是如何进行数据驱动测试在WebUI自动化测试中的?

1. 确定测试数据:首先,确定需要使用的测试数据。这些数据可以包括输入数据、验证数据、预期结果等。测试数据可以通过手动输入、从数据库或文件中读取、使用随机数据生成器等方式获取。

2. 设计测试脚本框架:设计测试脚本框架,以支持数据驱动测试。这包括定义测试用例、参数化的测试数据输入和断言,以及循环执行测试用例的逻辑。

3. 配置数据源:将测试数据配置为适当的数据源,以便在测试脚本中引用。可以使用Excel表格、CSV文件、数据库等多种数据源来存储和管理测试数据。

4. 读取测试数据:在自动化测试脚本中,通过适当的方法读取测试数据。根据数据源类型,可以使用相应的库或API来读取和解析数据。例如,使用Openpyxl库读取Excel文件,使用CSV库读取CSV文件,使用SQL查询读取数据库数据等。

5. 参数化测试用例:将测试数据与测试用例进行关联,参数化测试用例中需要使用的数据。根据测试框架的规范和编程语言的特性,将测试数据动态地注入到测试脚本中,以便在执行时使用。

6. 执行测试用例:使用循环结构,根据数据源中的测试数据循环执行测试用例。在每次执行时,使用当前循环的测试数据进行输入,并验证结果是否符合预期。

7. 断言结果:根据预期结果和实际结果进行断言。通过比对实际结果和期望结果,判断测试用例是否通过或失败。可以使用断言库或自定义的断言方法来进行断言操作。

8. 记录测试结果:根据测试的执行情况,记录测试结果,包括测试通过的用例、失败的用例、错误信息等。可以将结果输出到日志文件、数据库或测试报告中,以便后续分析和作为参考。

12. 如何进行并发测试在WebUI自动化测试中?

1. 确定并发负载:首先,确定要模拟的并发用户数量。根据应用程序的预期使用情况和性能需求,选择合适的并发负载。可以选择性能要求最高峰值的用户数量,也可以选择一定范围内的随机并发用户数量。

2. 创建测试脚本:根据预先定义的测试场景和操作,创建能够模拟并发用户行为的测试脚本。这些脚本应包含登录、页面导航、数据输入、点击按钮等操作,以模拟真实用户在应用程序中的行为。

3. 启动并发执行:使用并发测试框架或工具,如JMeter、Gatling等,启动多个测试线程或虚拟用户来执行测试脚本。每个线程或虚拟用户代表一个并发用户。

4. 调整并发参数:根据需要,调整并发测试框架或工具的设置,例如并发用户数量、启动速率、请求延迟等。根据应用程序的特性和测试目的,进行适当的参数调整。

5. 监控系统性能:在并发测试执行期间,监控系统的性能指标,如响应时间、资源利用率、错误率等。可以使用监控工具来实时监控系统的指标,并记录下相关数据。

6. 分析测试结果:根据并发测试的执行情况和监控数据,分析系统在并发负载下的表现。评估性能指标和错误率,查找潜在的性能瓶颈和并发相关的问题。

7. 反复执行和调优:根据测试结果,可以尝试进行优化和调整,例如调整应用程序的配置、增加服务器资源等。然后,反复执行并发测试以验证这些调整是否改善了系统在并发负载下的性能和稳定性。

8. 记录测试结果和报告:根据并发测试的结果,记录测试数据和结果,生成测试报告。报告应包括并发负载、性能指标、错误率以及任何问题或建议。

13. 你如何进行错误处理和异常处理在WebUI自动化测试中?

1. 异常捕获:使用适当的异常捕获机制来捕获可能发生的异常。在自动化测试脚本中,使用try-catch块或异常处理语句来捕获可能抛出的异常。

2. 错误消息记录:在捕获异常时,记录错误消息和相关信息。将错误消息输出到日志文件、控制台或测试报告中,方便后续分析和查看。

3. 异常处理逻辑:针对不同的异常情况,编写相应的异常处理逻辑。可以根据异常类型执行相应的操作,如重新加载页面、跳过当前用例、截图等。

4. 自动恢复机制:对于可预测的异常情况,可以实现自动恢复机制。例如,如果在测试中出现了某个元素找不到的异常,可以设置重新定位元素的逻辑,直到元素可见为止。

5. 重试机制:对于一些不稳定的操作或网络延迟等因素引起的异常,可以实现重试机制。即在捕获异常后,进行一定次数的重试,以期待操作能够成功。需要注意设置适当的超时时间和重试间隔。

6. 错误报告和截图:根据需要,生成详细的错误报告并保存相关的截图。错误报告应包含错误信息、异常堆栈轨迹、执行上下文等,以便后续调试和排查问题。

7. 合理的断言:在自动化测试中,合理的断言有助于检测潜在的错误和异常情况。使用断言来验证测试用例的预期结果,如果断言失败,则标记为错误或异常情况。

8. 异常处理流程改进:根据测试执行中的错误和异常情况,进行流程改进。通过分析异常模式和错误的发生原因,及时优化测试脚本,提高自动化测试的稳定性和准确性。

14. 请描述一下你最常用的WebUI自动化测试工具的工作原理。

1. Web驱动程序:Selenium WebDriver是一个自动化测试框架,其核心是Web驱动程序。该驱动程序可以连接到不同的浏览器,如Chrome、Firefox、Safari等,并通过浏览器的原生支持来执行自动化测试操作。

2. 元素定位:在测试过程中,Selenium WebDriver使用不同的定位策略来定位Web页面上的元素。常用的定位策略包括ID、类名、标签名、CSS选择器、XPath等。通过选择合适的定位方法,可以定位到页面上的特定元素。

3. Web操作:一旦定位到了要操作的元素,Selenium WebDriver可以执行各种Web操作,如点击、输入文本、提交表单等。它模拟了用户与网页交互的行为,以实现自动化的测试和操作。

4. 浏览器驱动:Selenium WebDriver通过与浏览器驱动进行通信来执行操作。浏览器驱动是一个与特定浏览器兼容的组件,负责将命令传递给浏览器并接收响应。它作为一个中间件,将Selenium指令翻译成浏览器能理解的指令。

5. 并发执行和多线程:Selenium WebDriver支持并发执行测试用例和多线程执行。它可以同时控制多个浏览器会话,使测试脚本可以在不同浏览器和操作系统上并发执行。

6. 测试框架集成:Selenium WebDriver可以与各种测试框架进行集成,如TestNG、JUnit等。这些测试框架提供了更丰富的断言、测试报告和测试组织等功能,以增强自动化测试的能力和效果。

15. 你会使用哪些定位策略来定位页面元素在WebUI自动化测试中?

1. Web驱动程序:Selenium WebDriver是一个自动化测试框架,其核心是Web驱动程序。该驱动程序可以连接到不同的浏览器,如Chrome、Firefox、Safari等,并通过浏览器的原生支持来执行自动化测试操作。

2. 元素定位:在测试过程中,Selenium WebDriver使用不同的定位策略来定位Web页面上的元素。常用的定位策略包括ID、类名、标签名、CSS选择器、XPath等。通过选择合适的定位方法,可以定位到页面上的特定元素。

3. Web操作:一旦定位到了要操作的元素,Selenium WebDriver可以执行各种Web操作,如点击、输入文本、提交表单等。它模拟了用户与网页交互的行为,以实现自动化的测试和操作。

4. 浏览器驱动:Selenium WebDriver通过与浏览器驱动进行通信来执行操作。浏览器驱动是一个与特定浏览器兼容的组件,负责将命令传递给浏览器并接收响应。它作为一个中间件,将Selenium指令翻译成浏览器能理解的指令。

5. 并发执行和多线程:Selenium WebDriver支持并发执行测试用例和多线程执行。它可以同时控制多个浏览器会话,使测试脚本可以在不同浏览器和操作系统上并发执行。

6. 测试框架集成:Selenium WebDriver可以与各种测试框架进行集成,如TestNG、JUnit等。这些测试框架提供了更丰富的断言、测试报告和测试组织等功能,以增强自动化测试的能力和效果。

准备WebUI自动化测试面试?这30个问题你必须掌握(二)_什么时候才能变强的博客-CSDN博客icon-default.png?t=N6B9https://blog.csdn.net/qq_17496235/article/details/131817453?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22131817453%22%2C%22source%22%3A%22qq_17496235%22%7D 

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

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

相关文章

动态内存管理(C语言)

动态内存管理 1. 为什么存在动态内存管理2. 动态内存函数的介绍2.1 malloc函数和free函数2.2 calloc函数2.3 realloc函数 3. 常见的动态内存错误3.1 对NULL指针的解引用操作3.2 对动态开辟空间的越界访问3.3 对非动态开辟内存使用free函数3.4 使用free释放动态开辟内存的一部分…

Python爬虫——urllib_ajax的get请求爬取豆瓣电影前十页

ajax: 就是一段js代码,通过这段代码,可以让页面发送异步的请求,或者向服务器发送一个东西,即和服务器进行交互 对于ajax: 一定会有 url,请求方法(get, post),可能有数据一般使用 j…

京东自动化功能之商品信息监控是否有库存

这里有两个参数,分别是area和skuids area是地区编码,我这里统计了全国各个区县的area编码,用户可以根据实际地址进行构造skuids是商品的信息ID填写好这两个商品之后,会显示两种状态,判断有货或者无货状态,详情如下图所示 简单编写下python代码,比如我们的地址是北京市…

291. 单词规律 II(plus题)

给你一种规律 pattern 和一个字符串 s,请你判断 s 是否和 pattern 的规律相匹配。 如果存在单个字符到 非空 字符串的 双射映射 ,那么字符串 s 匹配 pattern ,即:如果 pattern 中的每个字符都被它映射到的字符串替换,那…

猿辅导推出颠覆性产品小猿学练机,加速个性化学习时代到来

近期,沉默近两年的猿辅导在智能硬件领域释放动作,发布旗下首款智能硬件产品——小猿学练机。这一动作代表着,猿辅导正式入局1000亿智能硬件市场。据了解,小猿学练机面向全国中小学生,主打学练一体、以练促学&#xff0…

Maven 项目构建生命周期

Maven 项目构建生命周期 一句话: Maven 构建生命周期描述的是一次构建过程经历了多少个事件 生命周期的3 大阶段 clean 清理工作 default 核心工作,例如编译,测试,打包,部署等 site 产生报告,发布站点等 生命周期…

Elasticsearch 介绍及java集成

一、Elasticsearch 基础介绍 ElasticSearch 是分布式实时搜索、实时分析、实时存储引擎,简称(ES), 成立于2012年,是一家来自荷兰的、开源的大数据搜索、分析服务提供商,为企业提供实时搜索、数据分析服务,…

“layui助力博客管理升级!用增删改查功能打造优质博客体验“

目录 引文1.前置条件2.数据接口2.1 UserDao(CRUD)2.2 R工具类 3.HTML 结构3.1 主界面的HTML3.2 用户的查询所有界面的HTML3.3 新增修改通用的的HTML 4.JavaScript 代码4.1 用户的CRUD javaScript 代码(userManage)4.2 新增修改的javaScript代码(userEdit) 5. 运行截图总结 引文…

【Spring 】执行流程解析:了解Bean的作用域及生命周期

哈喽,哈喽,大家好~ 我是你们的老朋友:保护小周ღ 今天给大家带来的是 Spring 项目的执行流程解析 和 Bean 对象的6 种作用域以及生命周期,本文将为大家讲解,一起来看看叭~ 本期收录于博主的专栏:JavaEE_保…

latex3【排版】

多行公式排版:(gather、align、split、cases) \section{多行公式}%gather环境\begin{gather} abba \\ abcbaccbacab\end{gather}\begin{gather*} abba \\ abcbaccbacab\end{gather*}​\begin{gather} abba \\ 123 \notag …

【NLP】多头注意力概念(02)

接上文: 【NLP】多头注意力概念(01) 五、计算注意力 将 Q、K 和 V 拆分为它们的头部后,现在可以计算 Q 和 K 的缩放点积。上面的等式表明,第一步是执行张量乘法。但是,必须先转置 K。 展望未来,每个张量的seq_length形状将通过其各自的张量来识别,以确保清晰…

学习记录——SpectFormer、DilateFormer、ShadowFormer、MISSFormer

SpectFormer: Frequency and Attention is what you need in a Vision Transformer, arXiv2023 频域混合注意力SpectFormer 2023 论文:https://arxiv.org/abs/2304.06446 代码:https://badripatro.github.io/SpectFormers/ 摘要视觉变压器已经成功地应用…

网络套接字编程(三)(HTTP)

gitee仓库:https://gitee.com/WangZihao64/linux/tree/master/CalTcp 一、重谈协议 协议是一种“约定”,这种约定是双方都知道的。有了一致的约定,双方才能够正常地进行通信。协议在网络的第一篇博客中也提到过,协议是双方进行通…

python opencv 级联Haar多目标检测

一、基于OpenCV的haar分类器实现笑脸检测 1、Haar分类器介绍 🚀Haar分类器是一种基于机器学习的目标检测算法,它使用Haar特征描述图像中的目标。Haar特征是基于图像亮度的局部差异计算得出的,可以用来描述目标的边缘、角落和线条等特征。 使用…

基于PyQt5的UI界面开发——信号与槽

信号与槽的机制 PyQt5采用了一种被称为“信号与槽”机制的编程模式,用于处理对象间的通信和事件处理。在PyQt5中,信号(signal)是对象发出的特定事件,例如按钮被点击、文本被修改等。而槽(slot)…

用Maven的exec插件执行Java程序

Maven的exec插件介绍 利用maven的exec插件可以执行系统和Java程序。 官网资源 exec插件官网:https://www.mojohaus.org/exec-maven-plugin/java-mojo.html Goals exec:exec表示在一个单独的进程内执行系统和Java程序。 exec:java表示在当前的Java虚拟机内执行J…

Docker高级——网络配置

Docker网络 默认网络 安装 Docker 以后,会默认创建三种网络,可以通过 docker network ls 查看 [roottest ~]# docker network ls NETWORK ID NAME DRIVER SCOPE 6f24f7cbfa10 bridge bridge local 2dc34a1c0f04 host host…

MobPush Android For Unity

本文档以unity2020.3.41演示 集成准备 注册账号 使用MobSDK之前,需要先在MobTech官网注册开发者账号,并获取MobTech提供的AppKey和AppSecret,详情可以点击查看注册流程 下载.unitypackage包 打开 Github 下载 MobPush-For-Unity 项目&am…

C++模拟实现vector

目录 1.代码实现 2.注意事项 1.成员变量 2. 不能使用memcpy函数拷贝数据 1.用string类型测试时,要考虑到vs可能把数据存储在数组buffer里面 3.insert函数中指针的失效性 1.加引用,那么就不能传常量,比如v.begin() 3 2.加引用&#x…

【ArcGIS Pro微课1000例】0028:绘制酒店分布热力图(POI数据)

本文讲解在ArcGIS Pro中文版中,基于长沙市酒店宾馆分布矢量点数据(POI数据)绘制酒店分布热力图。 文章目录 一、加载酒店分布数据二、绘制热度图参考阅读: 【GeoDa实用技巧100例】004:绘制长沙市宾馆热度图 【ArcGIS微课1000例】0070:制作宾馆酒店分布热度热力图 一、加载…