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

与selenium webdriver一起使用空手道的能力

卓致远
2023-03-14

我发现Karate非常有能力,能够满足我对自动化Json服务的需求。不过,我想了解更多有关这方面的细节。我使用了另一个框架以及groovy、Spock和Java。在我的场景中,我需要发送一个json请求,从响应中获取事务id,然后使用selenium web驱动程序执行UI测试。如何轻松地将空手道测试与selenium web驱动程序集成?这是一个示例场景,包括spock中的web服务和UI

    given: "Submit  Request and get valid response"
    getResponse("request.template", "/mypersonal")
    assert respStatus == 200
    String myOrderID = getValueFromResponse(orderId)
    verifyMyOrder(myOrderID)

    when: "Start the browser for executing the functionality and Navigate to app"
    WebDriver driver = DriverFactory.getInstance().getWebDriver()
    ObjectFactory oFctry = new ObjectFactory(driver)
    driver.navigate().to(url)
    oFctry.uLogin()
    oFctry.navigateToPersonalFile()

    then: "Validate the File"
    oFctry.searchInInDirectory(myOrderID)
    oFctry.navigateToProductDetailsPage(myOrderID)

    cleanup: "Close the chrome browser"
    DriverFactory.getInstance().removeDriver()

共有1个答案

岑畅
2023-03-14

您有两个选项,从Karate调用Selenium驱动程序或通过Java API调用Karate。

  • 使用Java库将Java代码混合到空手道测试(本例中为JDBC)的示例:dogs.feature。另请参阅文档中的如何调用Java。
  • 有关如何从Java调用空手道的文档:Java API

就我个人而言,我更倾向于选择1--这也是你一直在和斯波克一起做的事情。

 类似资料:
  • 在空手道中,您可以通过发送json/list调用该功能 例如: 引发错误:路径:$,实际值:'',应为:'30e093da-c4e3-4ee0-b180-e5d0b4302d9f',原因:不是子字符串 步骤: 在日志检查功能中,我试图使用 日志检查功能步骤 我尝试了另一种方法,我把它分配给 我将发送json的另一种方法 步骤为logcheck.feature 例如: 错误抛出:com.intuit

  • 我们一直在围绕空手道netty的模拟功能进行一些概念验证工作,我们想知道以下方面的潜在未来功能: 在服务器启动后动态添加/删除模拟功能(例如,将模拟功能更紧密地耦合到单个测试用例) 在启动时利用多个模拟功能(或嵌套功能) 谢了麦克

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

  • 我需要在空手道测试的功能中使用动态值。 我遇到了一些类似这样的问题和答案:如何从excel电子表格中读取输入数据并在空手道框架中传递JSON负载? 但不管我怎么努力,我都做不到。我相信我应该分享我试图使用的代码部分,这样讨论就可以开始了。 我有一个创建新用户的SOAP请求,如下所示: 正如你所看到的,我有一些将从外部给出的变量,它们是:帐户号、子标识、子类型和移动。 现在,我有了一个特性文件,我在

  • 我试图用DataJpaTest注释测试我的存储库,但出现了一些奇怪的情况。 当我使用经典的时,一切正常,我的测试成功了。但是当我使用下面的生成器时,我的测试失败了。 测试应该成功,但其他测试没有成功,因为没有抛出关于约束有效性的异常。 例如,这里有一个失败的断言: Java语言AssertionError:预期测试将抛出org的实例。springframework。道。DataIntegrityV

  • 我的application.properties文件中有以下属性。 当我使用注释在spring控制器中使用属性时,它给我的值为2003,但当我通过获得它的值时,我获得的值为 如何使用AbstractenVironment获得值2003?