Karate 空手道用户界面:使用驱动程序时数据驱动测试无法正常工作。退出()

Karate 空手道用户界面:使用驱动程序时数据驱动测试无法正常工作。退出(),karate,Karate,我们正在探索空手道用户界面(已经在使用空手道进行API测试)。为了探索的目的,我们正在使用和它的工作良好。然而,在实施数据驱动测试时,我们观察到了以下行为 以下是搜索目标的简单功能文件 Feature: Karate UI POC Background: To set the browser driver * configure driver = { type: 'chromedriver', executable: "path to exe"} * def data= "

我们正在探索空手道用户界面(已经在使用空手道进行API测试)。为了探索的目的,我们正在使用和它的工作良好。然而,在实施数据驱动测试时,我们观察到了以下行为

以下是搜索目标的简单功能文件

Feature: Karate UI POC

Background: To set the browser driver

  * configure driver = { type: 'chromedriver', executable: "path to exe"}
  * def data= 
    """
    { 
    fromDes: '#(from)'
    }
    """
  Scenario: Launch the application search for the valid flights

  Given driver 'https://www.delta.com/'
  * driver.maximize()
  * waitUntil("document.readyState == 'complete'")
  * waitForEnabled('#fromAirportName').click()
  * waitForEnabled('#search_input')
  * clear('#search_input')
  * input('#search_input',data.fromDes)
  * driver.quit()
从data.feature文件中,我调用上述功能文件,如下所示

* table destinations
  | from            |
  | 'NEW YORK'      | 
  | 'BOSTON'        | 

* call read('delta.feature') destinations
在执行测试时,我遇到以下错误


17:26:55.443 [main] ERROR com.intuit.karate - org.apache.http.conn.HttpHostConnectException: Connect to localhost:9515 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect, http call failed after 2054 milliseconds for URL: http://localhost:9515/session/6fa82b59df1c1c845974c2f52d481d11/url
17:26:55.445 [main] ERROR com.intuit.karate - http request failed: 
org.apache.http.conn.HttpHostConnectException: Connect to localhost:9515 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect
17:26:55.445 [main] WARN  c.i.k.d.chromedriver_1592481370453 - session delete failed: 
org.apache.http.conn.HttpHostConnectException: Connect to localhost:9515 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect
17:26:55.445 [main] DEBUG com.intuit.karate.shell.Command - closing command: chromedriver_1592481370453
1) 然而,如果我删除语句driver.quit()测试工作正常


2) 这是否是在Karat UI中进行数据驱动测试的正确方法,因为我们在Karate API中很好地使用了它quit

您根本不需要使用
quit()
,Karate会自动完成它

您是否也可以尝试使用版本0.9.6.RC3


如果您仍然看到问题,请按照此过程进行操作,我们将确保问题得到解决:

您根本不需要使用
quit()
,空手道将自动完成

您是否也可以尝试使用版本0.9.6.RC3


如果您仍然看到问题,请按照此过程操作,我们将确保问题得到解决:

谢谢您的快速回复!我已经使用0.9.6RC3进行了检查,但是如果我使用driver.quit()执行,它会显示相同的错误。所以我会根据你们的建议提出这个问题。@Shekharpati不确定你们是否理解我说的话。不要使用quit()。假设这样一个关键字不存在。提醒一下,仅仅提出一个问题是不够的——请清楚地阅读这些说明,这里的误解很抱歉,是的,在版本0.9.5和0.9.6RC3中,不使用quit()对我来说效果很好。我认为在0.9.6RC3版本中有一些quit()关键字的修复程序,所以从现在起我不再使用quit()关键字。我们也会仔细阅读说明。谢谢谢哈希,我观察到,对于一个数据集来说,它工作得很好。但是,对于多个数据集,它不能正常工作。对于第二个数据集,由于测试失败,空手道正在同一浏览器会话中执行测试,因为它无法正确识别元素,因为同一浏览器会话可能会失败。如果你能提供你的意见,这将是有帮助的。Thanks@ShekharPatil我将只提供我的输入,如果你按照我的回答中的链接的过程谢谢你的快速回复!我已经使用0.9.6RC3进行了检查,但是如果我使用driver.quit()执行,它会显示相同的错误。所以我会根据你们的建议提出这个问题。@Shekharpati不确定你们是否理解我说的话。不要使用quit()。假设这样一个关键字不存在。提醒一下,仅仅提出一个问题是不够的——请清楚地阅读这些说明,这里的误解很抱歉,是的,在版本0.9.5和0.9.6RC3中,不使用quit()对我来说效果很好。我认为在0.9.6RC3版本中有一些quit()关键字的修复程序,所以从现在起我不再使用quit()关键字。我们也会仔细阅读说明。谢谢谢哈希,我观察到,对于一个数据集来说,它工作得很好。但是,对于多个数据集,它不能正常工作。对于第二个数据集,由于测试失败,空手道正在同一浏览器会话中执行测试,因为它无法正确识别元素,因为同一浏览器会话可能会失败。如果你能提供你的意见,这将是有帮助的。Thanks@ShekharPatil我将只提供我的投入,如果你按照我的答案中的链接的过程