使用变量尝试单击空手道中的元素

问题描述 投票:0回答:1

尝试从 json 文件访问变量并在空手道中使用它。但没有按预期工作。 * def elements = karate.read('../elements.json') * print 'driverNoInput:', elements.driverNoInput

elements.json { “driverNoInput”:“driverElement” }

代码:

  • waitFor(elements.driverNoInput).click()
  • 调用 sleep(10000)

无法调用“String.startsWith(String)”,因为“locator”为空。

这是正确的使用方法吗?需要一些解决方案..

karate
1个回答
0
投票

elements.json

{
  "login_button": "#login-button"
}

功能文件

Feature: POM

  Background: POM background
    * configure driver = { type: 'chrome' }
    * driver 'https://www.saucedemo.com/'
    * delay(3000)
    * def elements = karate.read('classpath:testdata/elements.json')

    Scenario: POM 1
    *  waitFor(elements.login_button).click()
    *  print 'login_button:', elements.login_button
    * delay(3000)

html 报告

enter image description here

我在 src/test/java 下名为 testdata 的文件夹中创建了 elements.json 文件。之后使用 read 方法调用后台部分中的文件并将其存储到名为 elements 的变量中。这会起作用的。

© www.soinside.com 2019 - 2024. All rights reserved.