Python 2.7 如何使用响应中的url
帮助理解和指导需要进一步做的事情。我使用robot框架版本3.1.1和Python 2.7编程语言编写自动测试脚本,现在有一项任务是开发一个可以处理POST/GET请求的测试。因此,我向系统发出POST请求以启动付款。答案是付款已经创建,但对于所有操作,都必须遵循答案中的链接 请求:Python 2.7 如何使用响应中的url,python-2.7,tdd,robotframework,Python 2.7,Tdd,Robotframework,帮助理解和指导需要进一步做的事情。我使用robot框架版本3.1.1和Python 2.7编程语言编写自动测试脚本,现在有一项任务是开发一个可以处理POST/GET请求的测试。因此,我向系统发出POST请求以启动付款。答案是付款已经创建,但对于所有操作,都必须遵循答案中的链接 请求: Create Session allias URL &{params}= Create Dictionary params1=value1 params2=value2 ${r
Create Session allias URL
&{params}= Create Dictionary params1=value1 params2=value2
${resp}= Post Request allias /init_payment.php params=${params}
Should Be Equal As Strings ${resp.status_code} 200
回复帖子回复:
<?xml version="1.0" encoding="utf-8"?>
<response><pg_status>ok</pg_status><pg_payment_id>3016695</pg_payment_id><pg_redirect_url>https://test.paybox.money/payment.html?customer=028c44bf25b6be251199221d04b570c2</pg_redirect_url><pg_redirect_url_type>need data</pg_redirect_url_type><pg_salt>8OYUsodtnaTWKbOD</pg_salt><pg_sig>a26e61d6eb710c430d67150498d1f555</pg_sig></response>
如何显示框架,使其能够通过重定向url?非常感谢您的帮助。来自Robot框架的请求者使用HTTP客户端。从该库中读取,您可以发现文本字段中提供了响应的内容 然后您很可能需要解析XML。你可以用这个 大概是
${root} = Parse XML ${body}
${link} = Get Element Text ${root} response/pg_redirect_url
Robot框架中的请求者使用HTTP客户端。从该库中读取,您可以发现文本字段中提供了响应的内容 然后您很可能需要解析XML。你可以用这个 大概是
${root} = Parse XML ${body}
${link} = Get Element Text ${root} response/pg_redirect_url
这是当您尝试执行必要的操作以查找项目时发生的情况。 但我仍然无法确定该框架所指的是什么。无论是在带有url的行上还是在
*** Settings ***
Library Collections
Library String
Library RequestsLibrary
Library OperatingSystem
Library XML
${resp}= Post Request test.paybox.money /init_payment.php params=${params}
${XML}= Parse XML ${resp.text}
${text}= Get Element Text ${XML} /response/pg_redirect_url
20190327 17:31:43.827 : INFO : Post Request using : alias=test.paybox.money, uri=/init_payment.php, data=<empty>, headers=None, files=None, allow_redirects=True
20190327 17:31:43.827 : INFO :
c:\python27\lib\site-packages\urllib3\connectionpool.py:847: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
20190327 17:31:43.828 : INFO : ${resp} = <Response [200]>
20190327 17:31:43.829 : INFO : ${XML} = <Element 'response' at 0x0426FCC8>
20190327 17:31:43.830 : FAIL : ParseError: not well-formed (invalid token): line 1, column 9
20190327 17:31:43.830 : DEBUG :
Traceback (most recent call last):
File "<string>", line 62, in parse
File "<string>", line 38, in parse
这是当您尝试执行必要的操作以查找项目时发生的情况。 但我仍然无法确定该框架所指的是什么。无论是在带有url的行上还是在
*** Settings ***
Library Collections
Library String
Library RequestsLibrary
Library OperatingSystem
Library XML
${resp}= Post Request test.paybox.money /init_payment.php params=${params}
${XML}= Parse XML ${resp.text}
${text}= Get Element Text ${XML} /response/pg_redirect_url
20190327 17:31:43.827 : INFO : Post Request using : alias=test.paybox.money, uri=/init_payment.php, data=<empty>, headers=None, files=None, allow_redirects=True
20190327 17:31:43.827 : INFO :
c:\python27\lib\site-packages\urllib3\connectionpool.py:847: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
20190327 17:31:43.828 : INFO : ${resp} = <Response [200]>
20190327 17:31:43.829 : INFO : ${XML} = <Element 'response' at 0x0426FCC8>
20190327 17:31:43.830 : FAIL : ParseError: not well-formed (invalid token): line 1, column 9
20190327 17:31:43.830 : DEBUG :
Traceback (most recent call last):
File "<string>", line 62, in parse
File "<string>", line 38, in parse
在响应文本中搜索项目时。我得到错误:ParseError:格式不正确无效令牌:第1行第9列同事,请帮助回答问题。解析XML时返回以下内容的原因:0x044FD5A8处的元素“response”。我知道Robot框架会向我返回一个对象,但是为什么我需要一个对象呢?如何搜索所需的值?Parse将XML的根元素作为对象返回。您可以使用Get元素Text搜索所需的值,它将此对象作为第一个参数,将元素的xpath作为第二个参数。我猜在这种情况下,您不需要重复reponse标记,因此第二行是:${link}=Get-Element-Text${root}response/pg_-redirect_-url在响应文本中搜索项目时。我得到错误:ParseError:格式不正确无效令牌:第1行第9列同事,请帮助回答问题。解析XML时返回以下内容的原因:0x044FD5A8处的元素“response”。我知道Robot框架会向我返回一个对象,但是为什么我需要一个对象呢?如何搜索所需的值?Parse将XML的根元素作为对象返回。您可以使用Get元素Text搜索所需的值,它将此对象作为第一个参数,将元素的xpath作为第二个参数。我猜在这种情况下,您不需要重复reponse标记,因此第二行应该是:${link}=Get Element Text${root}response/pg_redirect_url这是我的粗心给我开了一个残酷的玩笑。我期待收到响应:ok3016806 Datar8one3hlakkwmx6c9a4b3f246a6f642c9dc80f5cfda5cac5,我得到了http代码200。这是我的粗心大意和我开的一个残酷的玩笑。我期待收到回复:ok3016806 dataR8one3hLAkKwmx6C9a4b3f246a6f642c9dc80f5fdda5cac5,相反,我得到了http代码200。