当前位置: 首页 > 知识库问答 >
问题:

Chrome驱动与空手道1.0.1不获得框架树

宗政霄
2023-03-14

我之前发布了下面的问题,通过将空手道升级到0.9解决了这个问题。6.

当将chrome驱动程序与空手道UI一起使用时,驱动程序将被禁用。发送命令不工作

现在当我升级到空手道1.0.1时,以前在0.9.6中工作的代码不再工作。我检查了下面链接的文档,它没有改变。

https://intuit.github.io/karate/examples/ui-test/#devtools-协议提示

运行下面的代码时,即使驱动程序输出显示了所需的帧树,我也无法获得预期的帧树:

  Scenario: Get Frame Tree
    * driver 'https://google.com'
    * def frame = driver.send({ method: 'Page.getFrameTree' })
    * print frame

以下是实际输出:

17:01:26.738[主]调试c.intuit。空手道。驾驶员传动装置-

17:01:26.749[nioEventLoopGroup-2-1]调试c.intuit.karate.driver.DriverOptions-

17:01:26.750[主]信息网。凭直觉。空手道-[print]{“id”:7,“method”:null}

这是1.0. x的错误吗?我尝试了1.0.1RC5,我看到了同样的行为。

更新评论如下:

我会看一看,但在第一次通过时,我甚至不知道我在看什么:)这是我所做的,可能有效,但不受支持。我需要从一个无法解析的页面获取URL。

Scenario: GetUnreachableURL
    * string frameTree = driver.send(karate.toMap({ method: 'Page.getFrameTree' }))
    * print frameTree
    # headless chrome doesn't return chrome-error on unreachableUrls
    * def unreachableUrl = driver.url == 'chrome-error://chromewebdata/' ?  karate.extract(frameTree, 'unreachableUrl=(.+?)(?=,|})', 1) : driver.url

共有2个答案

高砚
2023-03-14

这可能需要你贡献代码和帮助,听起来你在做一些我们不支持的事情。

Chrome通信在本次提交中被重新考虑:https://github.com/intuit/karate/commit/9600031f17d7a81509368d6da36c24de3e945e36

为了使iFrame工作,有一个全局变量集应用于发送到Chrome的所有消息,可能不考虑send()命令。我可以请你捐款吗?我们有一个易于遵循的开发人员指南:https://github.com/intuit/karate/wiki/Developer-Guide

别宏盛
2023-03-14

只是想更新这个问题,这确实是一个错误,并已在1.1.0中修复。

https://github.com/intuit/karate/issues/1690

感谢彼得的支持。

 类似资料:
  • 我95%的自动化框架是在空手道,工作得很好。我们需要检查应用程序日志中显示的中间结果的功能很少(不在Json响应中)。我写了一个外壳脚本,它在从邮递员手动发送请求后验证Linux机器上的应用程序日志。我使用eclipse的JSCH库调用这个脚本。 有没有什么方法可以让我从空手道发送请求,然后调用我的JSCH类进行验证,这样就可以避免手动发送请求的步骤? 谢谢,阿比

  • 我们有Web服务开发使用。NET和一些服务使用basicHttpBinding-和一些使用wsHttpBinding-。 通过使用空手道框架,使用basicHttpBinding的服务可以很好地执行,但不会执行wsHttpBinding。正在获取响应代码415。 通过在SoapUI端执行以下操作,使用wsHttpBind的相同服务在另一个工具(如SoapUI)中执行得很好。 选中启用WS-A寻址

  • 我是银行领域帐户的自动化测试员。我有个问题需要你的帮助。 当前的方法: 1.我们用于API服务测试的框架是使用RESS assured的基于Java的Serenity-Cucumber框架。 2.与该框架相关的所有脚本开发/脚本维护活动都由我们团队中的自动化测试人员负责。 3.几周前,我们了解了空手道框架并完成了PoC(概念验证)。 4.一切顺利,我们正在计划迁移现有的RESS assured J

  • 我在空手道测试中使用并行执行。我试图在文件夹中生成一个cucumber.json文件。使用当前的设置,我在surefire-reports文件夹中有不同的json和xml文件。有没有一种方法可以生成一个带有特性结果的json文件?

  • 我有以下API响应样本 根据上面的回答,我的测试表明,每当我点击API请求时,第11个ID是SMITH,第10个ID是JAMES 所以我想把它存储在一个表中,并根据实际的响应进行断言 现在我该如何一个接一个地匹配?与first类似,它解析API响应中的第一个ID和第一个名称,并与表first ID和表first name匹配 请分享从空手道做它的任何方便的方式

  • 早上好我正在做一个使用空手道的项目。我对空手道完全陌生,可以原谅我在这里缺乏知识。 使用-m命令行参数执行独立空手道jar以启动mock.feature.mock.feature引用基于org.springframework.amqp构建的utils类。 问题是空手道。由于外部库“org/springframework/amqp/rabbit/connection/ConnectionFactor