Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 如何使用响应中的url_Python 2.7_Tdd_Robotframework - Fatal编程技术网

Python 2.7 如何使用响应中的url

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

帮助理解和指导需要进一步做的事情。我使用robot框架版本3.1.1和Python 2.7编程语言编写自动测试脚本,现在有一项任务是开发一个可以处理POST/GET请求的测试。因此,我向系统发出POST请求以启动付款。答案是付款已经创建,但对于所有操作,都必须遵循答案中的链接

请求:

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。