【发布时间】:2021-04-30 17:19:20
【问题描述】:
我正在使用空手道进行 API 调用,它会给出 HTML 响应(下面的 sn-p)。我正在尝试提取 value='HotelTestLondonHotel'。我尝试使用 Karate.extract,但在任何地方都找不到它的示例。我知道我可以通过某种方式使用 JS,但我想知道是否有更简单的方法?
'''
【问题讨论】:
标签: karate
我正在使用空手道进行 API 调用,它会给出 HTML 响应(下面的 sn-p)。我正在尝试提取 value='HotelTestLondonHotel'。我尝试使用 Karate.extract,但在任何地方都找不到它的示例。我知道我可以通过某种方式使用 JS,但我想知道是否有更简单的方法?
'''
【问题讨论】:
标签: karate
这是来自空手道单元测试的example:
Feature: karate.extract()
Background:
* def text = karate.readAsString('extract.html')
Scenario: extract first regex
* def token = karate.extract(text, 'login_form_token.+value=\\"([^\\"]+)', 1)
* match token == 'secret1'
Scenario: extract all regexes
* def tokens = karate.extractAll(text, 'login_form.?_token.+value=\\"([^\\"]+)', 1)
* match tokens == ['secret1', 'secret2']
这里是 HTML:
<html>
<form name="login_form" method="post" action="/login">
<input type="hidden" id="login_form_token" value="secret1">
</form>
<form name="login_form2" method="post" action="/login">
<input type="hidden" id="login_form2_token" value="secret2">
</form>
</html>
【讨论】: