自动化测试_49自动化测试中最常见的Selenium异常

2023-11-07

自动化测试

开发人员将始终在编写代码时牢记不同的场景,但是在某些情况下,实现可能无法按预期工作。 相同的原则也适用于测试代码,该代码主要用于测试现有产品的功能,发现bug并使产品100%无缺陷。

正确地说,真理总是比小说更陌生,当您执行Selenium测试自动化时,您会目睹很多“陌生的事物”。 在执行测试代码时遇到的这些事情或场景可能不是很常见,但是测试实现应该足够健壮以应对此类场景。 这些场景被恰当地称为例外,在使用Selenium进行自动浏览器测试时,您会遇到许多此类例外。

Selenium异常被广泛用于处理错误情况和避免Web应用程序故障。 尽管在所有Selenium WebDriver代码中都可能发生许多Selenium异常,但是某些Selenium异常特定于框架支持的编程语言,例如Java,C#,Python等。此博客介绍了常见的Selenium异常以及特定于语言的异常,一个详尽的列表,当您在代码中遇到异常时可能会有所帮助。

到本博客结尾,您将获得有关执行自动浏览器测试相关方案时经常使用的Selenium异常的完整介绍。

Selenium异常简介

异常(也称为故障)是在程序执行过程中发生的前所未有的事件。 发生异常时,正常程序的执行将停止,并执行相应的异常处理程序。 如果没有异常处理程序来处理该特定异常,则程序将返回引发该异常的调用函数,最终导致程序终止。

由于Selenium测试自动化是在不同的目标平台,设备和Web浏览器上执行的; 测试代码的行为可能会因浏览器类型或浏览器版本而异。 例如,某些属性可能是特定于浏览器的,并且如果在执行自动浏览器测试的浏览器中不存在特定属性,则会引发异常。 通用属性名称也可以是特定于浏览器的,如果目标浏览器上没有相同的属性,则可能导致Selenium异常,例如NoSuchAttributeException。

正确处理异常是一个好习惯,因为未处理的异常会导致程序失败,从而最终影响产品体验。 异常对象包含有关异常类型,调用堆栈的信息以及其他有用的信息,这些信息将有助于调试并使代码更加安全。

Selenium自动化的11种最佳单元测试框架

Selenium异常类别

Selenium异常分为两大类-已检查异常和未检查异常。 这些异常根据捕获异常的时间(即编译时间或运行时)进行分类。

A.检查异常

Selenium测试自动化中的已检查异常是在测试代码实现过程中处理的,例如NoSuchAttributeException等。已检查异常的处理发生在编译时本身。

如果某些方法引发了检查的异常,则最好定义一个处理该特定异常的处理程序。

B.未检查的异常

Selenium测试自动化中未检查的异常会在运行时发生,并且比已检查的异常有更严重的影响。 例如ElementNotVisibleException,MoveTargetOutOfBoundsException等。

Java中的异常可以选中或取消选中,而C ++中的所有异常都选中。 在自动化的浏览器测试相关方案中,经常会遇到未经检查的异常,因为这些测试涉及Web浏览器和操作系统的不同组合和版本。

另请阅读: 使用Selenium WebDriver测试自动化的22条实用技巧

Selenium例外备忘单

在本地或远程Selenium网格上执行自动浏览器测试时,您会遇到不同类型的异常。 一些Selenium异常特定于用于编写Selenium测试自动化方案的编程语言。

常见的Selenium异常

以下是所有Selenium WebDriver代码中可能发生的一些常见Selenium异常。

  1. ElementClickInterceptedException

由于以某种方式隐藏了接收到Click命令的元素,因此无法正确执行Element Click命令。

  1. ElementNotInteractableException

即使目标Web元素存在于DOM上,但与该元素的交互将击中另一个Web元素时,也会抛出此'ElementNotInteractableException'Selenium异常。

  1. ElementNotSelectableException

当目标元素存在于DOM上但由于无法选择而无法与之交互时,就会发生此Selenium异常。 例如,与脚本元素进行交互时将抛出此异常。

  1. ElementNotVisibleException

Selenium异常的最常见类型,即使存在web元素但不可见,也将引发该异常。 由于该元素不可见,因此无法与该元素进行任何交互。

在Selenium测试自动化中经常会遇到这种情况,其中尝试对Web元素(例如按钮,标签等)进行相关操作(单击,阅读等),但该元素从视图中隐藏了。 另一个示例是HTML中定义的具有隐藏类型的元素。

  1. ErrorInResponseException

当服务器端发生某些问题或错误时,将抛出此Selenium异常。 如果用户名和访问密钥的错误组合用于访问基于云的远程Selenium Grid,与远程Web驱动程序服务器进行通信或与Firefox扩展(或Chrome附加组件)进行通信,则可能会发生这种情况。服务器端错误的一些常见响应代码是:

    • 401 –未经授权
    • 400 – BadRequest
    • 500内部服务器错误
    • 409 –冲突
    • 403 –禁止
    • 405 – MethodNotAllowed

如果IME(输入法引擎)的激活由于某种原因失败,则抛出此异常。解决此问题的理想方法是检查计算机上是否有IME支持。

  1. ImeNotAvailableException

如果IME(输入法引擎)不可用,则抛出此Selenium异常。 如果在测试计算机上没有IME支持,则会为每个与IME相关的方法引发ImeNotAvailableException。

  1. InsecureCertificateException

过期或无效的TLS证书的使用导致用户代理引发证书警告。

  1. NoSuchFrameException

当要切换到的帧不存在时,将引发NoSuchFrameException Selenium异常。

为避免此类Selenium异常,建议在自动浏览器测试代码中添加有关切换到框架的方式的健全性检查。 检查使用的帧索引是否正确。 可以添加几毫秒(ms)的额外等待时间,以确保完成帧加载。

  1. NoSuchWindowException

当切换到的窗口目标不存在时,抛出此异常。 通过使用window_handles可以解决这些情况,以便获得当前的活动窗口集。 窗口句柄可用于对窗口句柄执行适当的操作。

  1. RemoteDriverServerException

当浏览器功能中的错误组合/字段导致服务器不发送响应时,将引发此异常。 为避免此类Selenium异常,从(平台+浏览器),(平台+浏览器+浏览器版本)等的有效组合的角度彻底检查Selenium浏览器功能非常重要。

  1. ScreenshotException

顾名思义,当无法进行屏幕捕获时会抛出此Selenium异常。在网页/ Web应用程序中可能会出现这种情况,其中用户输入了用户名,密码,银行信息等敏感信息。 在这种情况下,由于屏幕截图限制,无法捕获屏幕截图在此,屏幕截图限制会阻止捕获或记录屏幕。

  1. SessionNotCreatedException

当新会话的创建不成功时,将发生此异常。

  1. InvalidArgumentException

当传递的参数无效或格式错误时,将引发InvalidArgumentException异常。

更好的做法是使用Selenium测试自动化代码中的适当等待时间(以毫秒为单位)来验证是否加载了被测网页。

  1. InvalidCookieDomainException

当尝试添加Cookie的URL /域与当前URL不同时,将抛出此Selenium异常。要处理此异常,您应该导航到必须在其中添加Cookie的正确URL。

  1. InvalidCoordinatesException

向交互操作提供不正确的坐标时,将引发此特定异常。

这也意味着依赖于鼠标位置(例如单击)的动作之前没有进行移动操作,或者为移动操作提供了无效的坐标。

  1. InvalidElementStateException

当命令无法完成时会抛出此Selenium异常,因为该元素处于无效状态或未启用该元素来执行该操作。 如果在不可编辑且不可重置的Web元素上尝试执行诸如清除元素之类的操作,可能会导致这种情况。

要在Selenium测试自动化中处理此类异常,建议在对该元素执行所需的操作之前,等待该元素被启用。

  1. InvalidSelectorException

如果在不同版本之间更改了选择器名称,则可能会意外使用无效或不正确的选择器来定位Web元素。 如果用于查找Web元素的选择器未返回WebElement,则抛出InvalidSelectorException。

当XPath表达式是选择器并且XPath无效时,通常会发生这种情况。 这导致无法找到所需的Web元素。

  1. InvalidSessionIdException

如果在Selenium测试自动化实现中使用的会话ID无效,即不在当前活动的会话列表中,则抛出此异常。 如果会话处于非活动状态或从未存在过,则可能发生这种情况。

  1. InvalidSwitchToTargetException

如果切换到的框架或窗口目标无效,则会出现此Selenium异常。在切换到该框架之前,请使用“检查工具”验证目标框架的XPath,这一点很重要。

  1. JavascriptException

执行JavaScript代码时出现问题时,抛出此异常。

  1. NoAlertPresentException

当切换到屏幕上尚不存在的警报时,会发生这种情况。 处理警报的理想方法是检查警报是否存在,然后在Alert()类上调用所需的操作。

  1. MoveTargetOutOfBoundsException

如果提供给ActionChains()move方法的目标超出范围(即无效或超出文档/网页),则抛出Selenium异常。

在调用ActionChains()类的move方法之前,应始终检查我们尝试移动的位置,并仅在屏幕上存在该位置时才执行该操作。

  1. NoSuchAttributeException

这是在执行自动浏览器测试时肯定会遇到的少数Selenium异常之一。 如果找不到元素的属性,则抛出NoSuchAttributeException。

要处理此异常,应该为执行测试的浏览器检查属性的存在。 同一属性的不同属性名称可能因浏览器而异,处理效率低下可能导致此异常。

避免发生此异常的另一种方法是通过基于DOM上元素的新详细信息来更改属性。

  1. NoSuchCookieException

当当前浏览上下文的活动文档的关联cookie中不存在与给定路径名匹配的cookie时,会发生此Selenium异常。

  1. NoSuchElementException

当用于访问元素的定位器无效或试图对不在DOM上的元素执行操作时,将引发NoSuchElementException。 在这两种情况下,都不会找到该元素。

要处理此Selenium异常,应检查选择器是否正确,如果正确,则还需要额外等待以确保WebElement的外观。

  1. StaleElementReferenceException

当对元素的引用不在页面的DOM上时,就会发生Selenium异常。 简而言之,该元素已腐烂或陈旧。此特定Selenium异常的一些可能原因是:

    • 该元素可能在刷新的iFrame中。
    • 该页面可能已刷新,并且要访问的元素不再是当前页面的一部分。
    • 由于元素已定位,因此可以删除该元素并将其重新添加到屏幕。

处理此异常的可能解决方案是使用动态XPath在循环中查找所需的元素,并在找到元素后中断循环。

  1. TimeoutException

当当前正在执行的命令未在预期的时间范围内完成时,就会发生TimeoutException。

解决此异常的可能解决方案是增加命令完成执行的等待时间。 但是,应为等待时间选择理想值,否则可能会延迟进一步执行。

  1. UnableToSetCookieException

在Selenium WebDriver无法设置cookie的情况下,会发生此Selenium异常。

可以添加额外的等待时间,以便为域加载Cookie。

  1. UnexpectedAlertPresentException

当出现意外警报时会发生。 发生此异常的常见原因是由于页面上出现模态窗口/弹出窗口而导致Selenium WebDriver命令被阻止。

  1. UnexpectedTagNameException

如果支持类无法找到所需的Web元素,则会发生此Selenium异常。

  1. UnknownMethodException

这是常见的Selenium异常之一,当请求的命令能够匹配已知的URL但无法匹配该URL的方法时,就会发生这种异常。要处理此异常,您应该检查与URL一起传递的方法是否有效。

  1. WebDriverException

这是由于Selenium WebDriver与目标Web浏览器的绑定不兼容而发生的基本WebDriver异常。

要处理此异常,您应该下载与相应的Web浏览器兼容的Selenium WebDriver库。

Java中的Selenium异常

一些Selenium异常特定于用于测试自动化的特定编程语言。 除了上一节中介绍的Selenium中的常见异常外,以下是特定于Java语言的Selenium异常:

  1. ConnectionClosedException

与Selenium WebDriver的连接丢失时,将引发此异常。

  1. ErrorHandler.UnknownServerException

服务器返回错误而没有堆栈跟踪时,它将用作占位符。

  1. JsonException

当您能够获得未创建会话的会话功能时,将引发此异常。

  1. NoSuchSessionException

在执行WebDriver.quit()后调用命令时,将抛出此Selenium异常。 由于WebDriver实例不再存在,因此对该特定WebDriver实例的任何操作都将返回此异常。

  1. NotFoundException

当DOM上不存在任何元素时,将发生此异常。

  1. ScriptTimeoutException

当ASync脚本的执行未在给定的时间限制内完成时,将引发该错误。

  1. UnhandledAlertException

此Selenium异常是WebDriver异常的子类。 即使存在警报,WebDriver也无法执行警报操作时,将引发该事件。

  1. UnreachableBrowserException

UnreachableBrowserException表示与由自动化测试代码控制的Web浏览器通信时出现问题。 也可能是由于与Selenium服务器通信时出现问题。

如果远程Selenium WebDriver或Selenium网格的服务器地址无效,则可能发生这种情况。 浏览器实例也有可能在Selenium测试自动化周期中死亡。

  1. UnsupportedCommandException

当远程Selenium WebDriver发送的命令无效时,抛出此异常。

  1. NoSuchContextException

此异常在移动测试中发生,并由ContextAware.context(String)引发

  1. NotConnectedException

当在规定的时间段内尝试连接后,对特定主机或远程Selenium网格的尝试失败时,将引发此Selenium异常。

  1. SeleniumException

顾名思义,当Selenium命令失败时,会抛出Selenium异常。

  1. UnableToCreateProfileException

当使用某些自定义配置文件打开要执行Selenium测试自动化的浏览器,但WebDriver或浏览器在支持该配置文件时出现问题时,将发生UnableToCreateProfileException。

要处理此异常,建议检查安装的Selenium WebDriver版本以及Web浏览器支持的配置文件。

  1. UrlChecker.TimeoutException

当浏览器尝试一段时间后无法打开被测URL时,抛出此异常。

要处理此Selenium异常,必须在尝试在浏览器(测试中)中打开URL之前检查URL的正确性。

C#中的Selenium异常

特定于C#的Selenium异常是:

  1. DriverServiceNotFoundException

当执行 自动浏览器测试的元素不可见时,将抛出DriverServiceNotFoundException类下的异常。要处理此异常,仅在确认Web元素的存在可见性之后,您可以等待页面完全加载并执行Selenium WebDriver命令。

  1. WebDriverTimeoutException

WebDriverTimeoutException类表示在执行操作时发生错误时引发的异常。

奖励积分,我们在此提供一个韵母号码

  1. XPathLookupException

XPath查找过程中发生错误时引发的Selenium异常。

常见JavaScript错误以及如何处理

处理Selenium异常

Selenium异常的处理方式因一种编程语言而异。 但是,最重要的是应该处理Selenium异常,因为该异常提供了非常关键的信息。

以下是在流行的编程语言中如何处理Selenium异常的简要要点:

Python –如果您使用Python进行自动浏览器测试,则selenium.common.exceptions中提供了异常类,应在使用该包中的任何命令之前将其导入。

异常是使用try ... except块进行处理的,其中try块使您能够测试代码是否存在错误,except块可以帮助您处理错误,并且无论try块是否引发错误,都将执行可选的finally块。

Java – Selenium异常是使用try-catch方法在Java中处理的。 try块是该块的开始,catch块包含解决异常的实现。 catch块放置在try块的末尾。与Python一样,您也可以使用finally关键字来创建一个代码块,无论是否发生异常,该代码块都会执行。

C# –与Java一样,Selenium异常使用try-catch语句处理。 try块包含可能导致异常的代码。 在成功执行代码或引发异常之前,将一直执行try块下的代码。 catch块包含不同异常的处理程序。

另请阅读: Selenium自动化中的常见挑战及其解决方法?

总而言之

异常在开发中很常见,但必须谨慎处理。 了解不同的Selenium异常非常重要,因为这有助于开发更强大的自动浏览器测试脚本。

Selenium测试自动化中的异常处理有助于识别与浏览器/平台/设备有关的跨浏览器兼容性问题。

您用于处理Selenium异常的机制有哪些,请在注释部分保留您的经验……

快乐测试

翻译自: https://www.javacodegeeks.com/2020/05/49-most-common-selenium-exceptions-for-automation-testing.html

自动化测试

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动化测试_49自动化测试中最常见的Selenium异常 的相关文章

  • 运行 Python 单元测试,以便成功时不打印任何内容,失败时仅打印 AssertionError()

    我有一个标准单元测试格式的测试模块 class my test unittest TestCase def test 1 self tests def test 2 self tests etc 我的公司有一个专有的测试工具 它将作为命令行
  • Python将文本文件解析为嵌套字典

    考虑以下数据结构 HEADER1 key value key value HEADER2 key value key value HEADER3 key value HEADER4 key value key value 原始数据中没有缩进
  • 如何从日期中删除毫秒、秒、分钟和小时[重复]

    这个问题在这里已经有答案了 我遇到了一个问题 我想比较两个日期 然而 我只想比较年 月 日 这就是我能想到的 private Date trim Date date Calendar calendar Calendar getInstanc
  • 让 TeXstudio 在 linux mint 中工作:找不到文件“url.sty”。

    刚刚切换到 Linux Mint 以前的顽固 Windows 用户 我在尝试安装 TeXstudio 时遇到一些问题 Sudo apt get install texstudio 给了我一个正确的安装 至少 我是这么认为的 但是当我尝试构建
  • IntelliJ 组织导入

    IntelliJ 是否具有类似于 Eclipse 中的组织导入功能 我拥有的是一个 Java 文件 其中多个类缺少导入 例子 package com test public class Foo public Map map public J
  • 我可以限制分布式应用程序发出的请求吗?

    我的应用程序发出 Web 服务请求 提供商处理的请求有最大速率 因此我需要限制它们 当应用程序在单个服务器上运行时 我曾经在应用程序级别执行此操作 一个对象跟踪到目前为止已发出的请求数量 并在当前请求超出允许的最大负载时等待 现在 我们正在
  • 如何让 Emma 或 Cobertura 与 Maven 一起报告其他模块中源代码的覆盖率?

    我有一个带有 Java 代码的多模块 Maven 设置 我的单元测试在其中一个模块中测试多个模块中的代码 当然 这些模块具有相互依赖性 并且在测试执行之前根据需要编译所有相关模块中的代码 那么 如何获得整个代码库覆盖率的报告 注意 我不是问
  • 如何在亚马逊 EC2 上调试 python 网站?

    我是网络开发新手 这可能是一个愚蠢的问题 但我找不到可以帮助我的确切答案或教程 我工作的公司的网站 用 python django 构建 托管在亚马逊 EC2 上 我想知道从哪里开始调试这个生产站点并检查存储在那里的日志和数据库 我有帐户信
  • 如何在Java中对对象数组进行字段级别排序以进行等级比较?

    In Java Class StudentProgress String Name String Grade CTOR goes here main class main method StudentProgress arrayofObje
  • Hadoop NoSuchMethodError apache.commons.cli

    我在用着hadoop 2 7 2我用 IntelliJ 做了一个 MapReduce 工作 在我的工作中 我正在使用apache commons cli 1 3 1我把库放在罐子里 当我在 Hadoop 集群上使用 MapReduceJob
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • 源值 1.5 的错误已过时,将在未来版本中删除

    我使用 scala maven plugin 来编译包含 scala 和 java 代码的项目 我已经将源和目标设置为1 7 但不知道为什么maven仍然使用1 5 这是我在 pom xml 中的插件
  • 使用 Java https 上传到 Imgur v3 错误

    我目前正在尝试使用他们当前的 API v3 上传到 imgur 但是我不断收到错误 错误 javax net ssl SSLException 证书中的主机名不匹配 api imgur com imgur com OR imgur com
  • Java 的 PriorityQueue 与最小堆有何不同?

    他们为什么命名PriorityQueue如果你不能插入优先级 它看起来与堆非常相似 有什么区别吗 如果没有区别那为什么叫它PriorityQueue而不是堆 默认的PriorityQueue是用Min Heap实现的 即栈顶元素是堆中最小的
  • HttpClient请求设置属性问题

    我使用这个 HttpClient 库玩了一段时间 几周 我想以某种方式将属性设置为请求 不是参数而是属性 在我的 servlet 中 我想使用 Integer inte Integer request getAttribute obj 我不
  • 记录类名、方法名和行号的性能影响

    我正在我的 java 应用程序中实现日志记录 以便我可以调试应用程序投入生产后可能出现的潜在问题 考虑到在这种情况下 人们不会奢侈地使用 IDE 开发工具 以调试模式运行事物或单步执行完整代码 因此在每条消息中记录类名 方法名和行号将非常有
  • 如何获取pandas中groupby对象中的组数?

    我想知道有多少个独特的组需要执行计算 给定一个名为 groupby 的对象dfgroup 我们如何找到组的数量 简单 快速 Pandaic ngroups 较新版本的 groupby API pandas gt 0 23 提供了此 未记录的
  • 将 Keras 集成到 SKLearn 管道?

    我有一个 sklearn 管道 对异构数据类型 布尔 分类 数字 文本 执行特征工程 并想尝试使用神经网络作为我的学习算法来拟合模型 我遇到了输入数据形状的一些问题 我想知道我想做的事情是否可能 或者我是否应该尝试不同的方法 我尝试了几种不
  • IndexError - 具有匀称形状的笛卡尔 PolygonPatch

    我曾经使用 shapely 制作一个圆圈并将其绘制在之前填充的图上 这曾经工作得很好 最近 我收到索引错误 我将代码分解为最简单的操作 但它甚至无法执行最简单的循环 import descartes import shapely geome
  • 定义在文本小部件中双击时选择哪些字符

    在 Windows 上 双击文本小部件中的单词也将选择连接的标点符号 有什么方法可以定义您想要选择的角色吗 tcl wordchars该变量的值是一个正则表达式 可以设置它来控制什么被视为 单词 字符 例如 通过双击 Tk 中的文本来选择单

随机推荐

  • 搜狗双拼口诀

    今天给大家介绍一下搜狗双拼口诀 掌握搜狗双拼输入法的难点是将其26个韵母对应的字母键位记忆到脑海中 比如 自然码方案的ang韵母对应于H键 ao韵母对应于K键 如果你没记住对应关系 那么搜狗双拼输入也就无从谈起了 通过搜狗双拼口诀 你可以很
  • IDEA添加自定义浏览器

    比如添加搜狗浏览器 1 打开setting 2 Tools gt Web Browsers 点 添加浏览器 3 点击文件夹图标 修改浏览器路径 4 找到搜狗浏览器的exe文件 5 修改浏览器的名字 然后点ok 6 完成 运行直接点击图标即可
  • Windows下php和apache的安装及启动

    php版本 php5 6 httpd版本 apache2 4 php5 6 在D盘下创建php文件夹 并在其下解压压缩包 修改系统变量PATH 末尾新增 D php D php ext httpd2 4 在D盘下创建Apache24文件夹
  • 操作系统复习知识点(第三章)

    处理机调度 1 高级调度 中级调度 低级调度 高级调度 根据某种算法 把外存上处于后备队列中的那些作业调入内存 作业调度 中级调度 为了提高内存利用率和系统吞吐量 使那些暂时不能运行的进程不再占用内存资源 将它们调至外存等待 把进程状态改为
  • HDU--1233:还是畅通工程 (并查集 & 最小生成树Prim)

    1 题目源地址 http acm hdu edu cn showproblem php pid 1233 2 简单思路 先对村庄距离从小到大排序 然后使用并查集的查找 一边查找一边加上村庄之间的距离 从而得到可以走通所有村庄的最短距离 3
  • 根据年月日计算星期几的函数

    大部分日期计算正常 2014 04 01 星期2 计算出来的星期不正确 原因 计算出来的 w可能出现负值 求负数的余数需要特殊处理 需要按数论的计算方式求余数 网上很多代码存在此问题 少数日期计算不正确 解决 负数先转为正数求余 然后求补
  • Android源码编译环境搭建

    一 前言 Google自 2021 年 6 月 22 日起 不再支持在 MacOS 上进行Android平台开发 某些芯片厂家提供的Android SDK不支持低版本的Ubuntu 16 04 LTS及以下 故本篇文章以Ubuntu18 0
  • GNU AWK

    awk awk官方给出的是 pattern scanning and processing language即模式扫描处理语言 我们CentOS一般用的是GNU AWK 官方给出的语法有五种 我们只举例前两种使用格式 下面是语法 gawk
  • 使用java geotools进行坐标转换

    java geotools支持不同的坐标系之间进行转换 只需要转换的时候指定坐标系即可 pom依赖文件如下
  • 现在的00后,实在是太卷了

    现在的小年轻真的卷得过分了 前段时间我们公司来了个00年的 工作没两年 跳槽到我们公司起薪18K 都快接近我了 后来才知道人家是个卷王 从早干到晚就差搬张床到工位睡觉了 最近和他聊了一次天 原来这位小老弟家里条件不太好 一大家子指望他一个人
  • Vulnhub入门实战-Wakanda

    下载链接 描述 1 探测主机的IP地址 2 使用nmap查看靶机开放端口 开放了4个端口 老样子先从http下手 3 进去发现没什么可以点的 于是进行目录扫描 状态码都是200 但是size为0 所以返回的都是空页面 查看主页源代码 发现一
  • Scrapy----Scrapy架构及工作流程

    原文链接 Scrapy Scrapy架构及工作流程 一 Scrapy架构图 scrapy的架构图如下 红色箭头表示工作流程 二 Scrapy的组成 Scrapy Engine Scrapy Engine主要用来协调数据流在Scrap各个组件
  • [蓝桥杯][2014年第五届真题]兰顿蚂蚁

    题目 题目链接 题解 DFS 没什么难的吧 可能实现的时候用时长短 代码简洁程度不同而已 代码 include
  • 《响应式Web设计实践》学习笔记

    第1章 无处不在的Web 1 4 成为响应式的 Ethan Marcotte利用三种已有工具 媒介查询 media queries 流动布局 fluid grids 和自适应图片 scalable images 创建了一个在不同分辨率屏幕下
  • 每日一道基础编程题目(牛客网)--基础编程篇(NO.1)

    文章目录 1 每日一道基础编程题目 牛客网 前言 题目引入 结语 1 每日一道基础编程题目 牛客网 前言 从今天起 我会日更一些编程题目 比较基础的 适合期末复习的题目 分享给大家 和大家一起进步 题目引入 首先我们先看一下这个代码 这个的
  • 邻桌为何一天就学完了SQL基础语法,数据分析必学的SQL,满满硬货

    因为开学原因 导致好久没有更新博客了 谁家大学生一周五天早八 今天这篇分享数据库操作和 SQL SQL 全称是 Structured Query Language 翻译后就是结构化查询语言 是一种数据库查询和程序设计语言 用于存取数据以及查
  • Eclipse SVN 更新报: “is too old(format10,createdbySubversion1.6)”解决方法

    原因 版本太低导致 更新一下就可以了 方法 项目上右键 Team upgrade
  • android 模拟点击localinstrumentation,android通过Instrumentation来模拟键盘点击操作

    android app Instrumentation好像原来是用来做测试的 可以用来模拟很多activity的操作 主要代码如下 package com qefee testinstrumentation import android a
  • 常用git和repo命令

    常用git和repo命令 文章收集了最近使用的一些repo和git命令 下图是个人理解的git文件状态转换图 更详细的Pro git 文档 更准确的应该是这样 相关概念 名称 意义 repo 谷歌用Python脚本写的调用git的一个脚本
  • 自动化测试_49自动化测试中最常见的Selenium异常

    自动化测试 开发人员将始终在编写代码时牢记不同的场景 但是在某些情况下 实现可能无法按预期工作 相同的原则也适用于测试代码 该代码主要用于测试现有产品的功能 发现bug并使产品100 无缺陷 正确地说 真理总是比小说更陌生 当您执行Sele