You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4389 lines
383 KiB
4389 lines
383 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<robot generator="Robot 3.1.2 (Python 3.6.8 on linux)" generated="20220819 14:08:55.939" rpa="false">
|
|
<suite id="s1" name="000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe">
|
|
<suite id="s1-s1" name="000-Data" source="/root/ztb-factory-rf-api/000-Data">
|
|
<suite id="s1-s1-s1" name="0-BaseUrl" source="/root/ztb-factory-rf-api/000-Data/0-BaseUrl.robot">
|
|
<test id="s1-s1-s1-t1" name="baseUrl">
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>https://api-ops-ztb-test.qniao.cn</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${opsztb}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.310" level="INFO">${opsztb} = https://api-ops-ztb-test.qniao.cn</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.309" endtime="20220819 14:08:56.310"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>https://api-ops-psc-test.qniao.cn</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${opspsc}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.310" level="INFO">${opspsc} = https://api-ops-psc-test.qniao.cn</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.310" endtime="20220819 14:08:56.310"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>https://api-client-uec-test.qniao.cn</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${uecClient}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.311" level="INFO">${uecClient} = https://api-client-uec-test.qniao.cn</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.311" endtime="20220819 14:08:56.311"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>https://api-client-ztb-test.qniao.cn</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ztbClient}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.312" level="INFO">${ztbClient} = https://api-client-ztb-test.qniao.cn</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.311" endtime="20220819 14:08:56.312"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${opsztb}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.312" level="INFO">${opsztb} = https://api-ops-ztb-test.qniao.cn</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.312" endtime="20220819 14:08:56.313"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${opspsc}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.313" level="INFO">${opspsc} = https://api-ops-psc-test.qniao.cn</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.313" endtime="20220819 14:08:56.313"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${uecClient}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.314" level="INFO">${uecClient} = https://api-client-uec-test.qniao.cn</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.314" endtime="20220819 14:08:56.314"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${ztbClient}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.315" level="INFO">${ztbClient} = https://api-client-ztb-test.qniao.cn</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.314" endtime="20220819 14:08:56.315"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{'content-type':'application/json','X-APP-ID':'470236309865238555','Authorization':'Token 6b08add42d6bcf73abb935b2adf83525'}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ops_header}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.316" level="INFO">${ops_header} = {'content-type':'application/json','X-APP-ID':'470236309865238555','Authorization':'Token 6b08add42d6bcf73abb935b2adf83525'}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.315" endtime="20220819 14:08:56.316"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{'content-type':'application/x-www-form-urlencoded','X-APP-ID':'470236309865238555'}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ops_login_header}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.316" level="INFO">${ops_login_header} = {'content-type':'application/x-www-form-urlencoded','X-APP-ID':'470236309865238555'}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.316" endtime="20220819 14:08:56.316"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{'content-type':'application/json','X-APP-ID':'503258978847953926'}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${client_login_header}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.317" level="INFO">${client_login_header} = {'content-type':'application/json','X-APP-ID':'503258978847953926'}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.317" endtime="20220819 14:08:56.317"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${ops_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.317" level="INFO">${ops_header} = {'content-type':'application/json','X-APP-ID':'470236309865238555','Authorization':'Token 6b08add42d6bcf73abb935b2adf83525'}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.317" endtime="20220819 14:08:56.318"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${ops_login_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.318" level="INFO">${ops_login_header} = {'content-type':'application/x-www-form-urlencoded','X-APP-ID':'470236309865238555'}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.318" endtime="20220819 14:08:56.318"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${client_login_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.319" level="INFO">${client_login_header} = {'content-type':'application/json','X-APP-ID':'503258978847953926'}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.318" endtime="20220819 14:08:56.319"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>15014242835</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${account}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.319" level="INFO">${account} = 15014242835</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.319" endtime="20220819 14:08:56.319"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>laiyonglan@qniao.cn</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${username}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.320" level="INFO">${username} = laiyonglan@qniao.cn</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.319" endtime="20220819 14:08:56.320"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${account}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.320" level="INFO">${account} = 15014242835</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.320" endtime="20220819 14:08:56.320"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${username}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.321" level="INFO">${username} = laiyonglan@qniao.cn</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.320" endtime="20220819 14:08:56.321"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>888888</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${captcha}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.321" level="INFO">${captcha} = 888888</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.321" endtime="20220819 14:08:56.321"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>qn123456</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${password}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.322" level="INFO">${password} = qn123456</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.322" endtime="20220819 14:08:56.322"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${captcha}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.322" level="INFO">${captcha} = 888888</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.322" endtime="20220819 14:08:56.322"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${password}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.323" level="INFO">${password} = qn123456</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.323" endtime="20220819 14:08:56.323"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:56.308" endtime="20220819 14:08:56.323" critical="yes"></status>
|
|
</test>
|
|
<status status="PASS" starttime="20220819 14:08:55.980" endtime="20220819 14:08:56.323"></status>
|
|
</suite>
|
|
<suite id="s1-s1-s2" name="1-ClientLogin" source="/root/ztb-factory-rf-api/000-Data/1-ClientLogin.robot">
|
|
<test id="s1-s1-s2-t1" name="uecLogin">
|
|
<kw name="Disable Warnings" library="urllib3">
|
|
<doc>Helper for quickly disabling all urllib3 warnings.</doc>
|
|
<status status="PASS" starttime="20220819 14:08:56.333" endtime="20220819 14:08:56.333"></status>
|
|
</kw>
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>ZTBT</arg>
|
|
<arg>${uecClient}</arg>
|
|
<arg>${client_login_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.334" level="INFO">Creating Session using : alias=ZTBT, url=https://api-client-uec-test.qniao.cn, headers={'content-type': 'application/json', 'X-APP-ID': '503258978847953926'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.333" endtime="20220819 14:08:56.334"></status>
|
|
</kw>
|
|
<kw name="Create Dictionary" library="BuiltIn">
|
|
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
|
|
<arguments>
|
|
<arg>account=${account}</arg>
|
|
<arg>captcha=${captcha}</arg>
|
|
<arg>accountType=2</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${data}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.336" level="INFO">${data} = {'account': '15014242835', 'captcha': '888888', 'accountType': '2'}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.335" endtime="20220819 14:08:56.336"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ZTBT</arg>
|
|
<arg>uec/authorize/by-captcha</arg>
|
|
<arg>json=${data}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${respones}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.415" level="INFO">POST Request : url=https://api-client-uec-test.qniao.cn/uec/authorize/by-captcha
|
|
path_url=/uec/authorize/by-captcha
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'content-type': 'application/json', 'X-APP-ID': '503258978847953926', 'Content-Length': '67'}
|
|
body=b'{"account": "15014242835", "captcha": "888888", "accountType": "2"}'
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:56.415" level="INFO">POST Response : url=https://api-client-uec-test.qniao.cn/uec/authorize/by-captcha
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:56 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":{"token":"iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==","userId":"701479226095833088"}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:56.415" level="INFO">${respones} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.337" endtime="20220819 14:08:56.415"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${respones.json()['data']}</arg>
|
|
<arg>token</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${token}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.416" level="INFO">${token} = iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.416" endtime="20220819 14:08:56.416"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${token}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.417" level="INFO">${token} = iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.417" endtime="20220819 14:08:56.417"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:56.332" endtime="20220819 14:08:56.417" critical="yes"></status>
|
|
</test>
|
|
<test id="s1-s1-s2-t2" name="login_token">
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>login</arg>
|
|
<arg>${ztbClient}</arg>
|
|
<arg>${client_login_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.418" level="INFO">Creating Session using : alias=login, url=https://api-client-ztb-test.qniao.cn, headers={'content-type': 'application/json', 'X-APP-ID': '503258978847953926'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.418" endtime="20220819 14:08:56.419"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{"loginToken":"${token}"}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${loginToken}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.419" level="INFO">${loginToken} = {"loginToken":"iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ=="}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.419" endtime="20220819 14:08:56.419"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>login</arg>
|
|
<arg>recycle-user-center/authorize/get/product-line-token/by/login-token</arg>
|
|
<arg>${loginToken.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.604" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/recycle-user-center/authorize/get/product-line-token/by/login-token
|
|
path_url=/recycle-user-center/authorize/get/product-line-token/by/login-token
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'content-type': 'application/json', 'X-APP-ID': '503258978847953926', 'Content-Length': '105'}
|
|
body=b'{"loginToken":"iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ=="}'
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:56.604" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/recycle-user-center/authorize/get/product-line-token/by/login-token
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:56 GMT', 'Content-Type': 'application/json;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive'}
|
|
body={"code":0,"message":"successful","data":"iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ=="}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:56.604" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.419" endtime="20220819 14:08:56.604"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()}</arg>
|
|
<arg>data</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${TokenData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.605" level="INFO">${TokenData} = iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.605" endtime="20220819 14:08:56.605"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{'Content-Type':'application/json','Authorization':'QNT ${TokenData}','X-APP-ID':'503258978847953926'}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${client_firstlogin_header}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.606" level="INFO">${client_firstlogin_header} = {'Content-Type':'application/json','Authorization':'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==','X-APP-ID':'503258978847953926'}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.606" endtime="20220819 14:08:56.606"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${TokenData}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.606" level="INFO">${TokenData} = iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.606" endtime="20220819 14:08:56.607"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${client_firstlogin_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.607" level="INFO">${client_firstlogin_header} = {'Content-Type':'application/json','Authorization':'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==','X-APP-ID':'503258978847953926'}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.607" endtime="20220819 14:08:56.607"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:56.418" endtime="20220819 14:08:56.607" critical="yes"></status>
|
|
</test>
|
|
<test id="s1-s1-s2-t3" name="user_info">
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>login</arg>
|
|
<arg>${ztbClient}</arg>
|
|
<arg>${client_firstlogin_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.609" level="INFO">Creating Session using : alias=login, url=https://api-client-ztb-test.qniao.cn, headers={'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.608" endtime="20220819 14:08:56.609"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>login</arg>
|
|
<arg>recycle-user-center/user/get/user-info</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.977" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/recycle-user-center/user/get/user-info
|
|
path_url=/recycle-user-center/user/get/user-info
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:56.977" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/recycle-user-center/user/get/user-info
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:56 GMT', 'Content-Type': 'application/json;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive'}
|
|
body={"code":0,"message":"successful","data":{"userId":"701479226095833088","realName":"南瓜","mobile":"15014242835","avatarUrl":"https://thirdwx.qlogo.cn/mmopen/vi_32/xsqOwRfxs1IiaMc207zMrOf4AOZmC2d0LJ8cyvxLkjlVUicow0OjAnLQSzL8xhRicakTLfAd2icDuRFEahkHNQJ2zA/132","isAuth":1,"isSetPassword":1,"enterpriseId":null,"enterpriseName":null,"position":null,"employeeStatus":null,"applicationStatus":null,"contactsName":null,"contactsMobile":null,"locProvinceId":null,"locProvinceName":null,"locCityId":null,"locCityName":null,"locDistrictId":null,"locDistriceName":null,"locDetail":null,"isSupplierPerssion":false,"factoryId":null,"factoryName":null,"enterpriseRoleName":null,"enterpriseRoleId":null,"enterpriseDepartmentId":null,"enterpriseDepartmentName":null,"isSaasPerssion":true,"legalPersonName":null,"uniformSocialCreditCode":null,"legalPersonIdCardNo":null,"responsiblePersonName":null,"responsiblePersonMobile":null,"creditLine":null,"usedCreditLine":null,"availableCreditLine":null,"settlementPeriod":null,"type":null,"positionId":null,"menuList":[],"enterpriseInfos":[{"enterpriseId":"573952019207950336","organizationId":"573952019207950336","enterpriseName":"江苏康辉新材料科技有限公司","locProvinceId":440000,"locProvinceName":"广东省","locCityId":440100,"locCityName":"广州市","locDistrictId":440106,"locDistriceName":null,"locDetail":"车陂大岗路","contactsName":null,"contactsMobile":null,"legalPersonName":"刘建","uniformSocialCreditCode":"91320509MA213G5P8M","legalPersonIdCardNo":"20210402001","position":null,"employeeStatus":null,"isEnterprisePrimary":0,"factoryInfos":[{"factoryId":"573960116148244480","factoryName":"萬镓再生资源","type":"ADMIN","positionId":null,"enterpriseRoleName":"管理员厂长","enterpriseRoleId":null,"responsiblePersonName":"张山","responsiblePersonMobile":"13060994305","isSaasPerssion":true,"applicationStatus":null,"settlePriceType":2,"settleType":1,"isNeedWeightAudit":1,"deliverWeighingAudit":1,"openingCredit":1,"usingOffsiteReceipt":1,"isWeighedPricing":1,"enterpriseDepartmentId":"573960116311822336","enterpriseMemberId":"713725243071533056","deviceList":[{"id":"73e85cb8-badd-345d-9763-fed6584e147b","name":"万家再生打包站1号地磅","deviceUse":null},{"id":"8f1192ec-031b-3797-92ea-a155c3570762","name":"小工控机-2号","deviceUse":null},{"id":"88411749-cc05-3585-ac08-58f2c1dc0d5a","name":"3号地磅","deviceUse":null},{"id":"c8e8459d0e3af948","name":"地磅云盒","deviceUse":null},{"id":"9165a505-1ce7-3622-b62d-00468a03c368","name":"安卓盒子测试地磅","deviceUse":null},{"id":"5924e9f0-3d10-3537-92c8-eea8ba360bd9","name":"测试新逻辑","deviceUse":null},{"id":"102111052512","name":"测试叉车绑定地磅","deviceUse":null}],"usingStock":1,"paymentCompletionPeriod":15}],"enterpriseDepartmentInfos":[{"enterpriseDepartmentId":"573953977616568320","enterpriseDepartmentName":"千鸟IT打包站测试账号"},{"enterpriseDepartmentId":"573960116311822336","enterpriseDepartmentName":"IT中心打包站"},{"enterpriseDepartmentId":"594295045625090048","enterpriseDepartmentName":"测试打包站"},{"enterpriseDepartmentId":"713770043011371008","enterpriseDepartmentName":null},{"enterpriseDepartmentId":"729052286126526464","enterpriseDepartmentName":"江苏康辉新材料科技有限公司"}],"hasBankCard":true,"hasInviter":true,"salesTaxPoint":2053},{"enterpriseId":"738812239011778560","organizationId":"738812119994208256","enterpriseName":"武汉市青山区恒志纸业环保打包厂","locProvinceId":null,"locProvinceName":null,"locCityId":null,"locCityName":null,"locDistrictId":null,"locDistriceName":null,"locDetail":null,"contactsName":null,"contactsMobile":null,"legalPersonName":"张秋生","uniformSocialCreditCode":"92420107MA4HWPTW91","legalPersonIdCardNo":null,"position":null,"employeeStatus":null,"isEnterprisePrimary":0,"factoryInfos":[{"factoryId":"738816441691803648","factoryName":"工厂版打包站","type":"ADMIN","positionId":null,"enterpriseRoleName":"管理员","enterpriseRoleId":null,"responsiblePersonName":"待补充","responsiblePersonMobile":"待补充","isSaasPerssion":false,"applicationStatus":null,"settlePriceType":1,"settleType":1,"isNeedWeightAudit":1,"deliverWeighingAudit":1,"openingCredit":1,"usingOffsiteReceipt":1,"isWeighedPricing":0,"enterpriseDepartmentId":"738816442153177088","enterpriseMemberId":"738823017987182592","deviceList":[{"id":"7a86e40d-127f-3710-a3cd-b17368676516","name":"测试设备-NP005","deviceUse":null}],"usingStock":1,"paymentCompletionPeriod":15}],"enterpriseDepartmentInfos":[{"enterpriseDepartmentId":"738812239145996288","enterpriseDepartmentName":"武汉市青山区恒志纸业环保打包厂"},{"enterpriseDepartmentId":"738812538132762624","enterpriseDepartmentName":"千鸟工厂版测试打包站"},{"enterpriseDepartmentId":"738816442153177088","enterpriseDepartmentName":"工厂版打包站"},{"enterpriseDepartmentId":"740573306150850560","enterpriseDepartmentName":null},{"enterpriseDepartmentId":"743823055490519040","enterpriseDepartmentName":null},{"enterpriseDepartmentId":"743826065499230208","enterpriseDepartmentName":null},{"enterpriseDepartmentId":"743834212246884352","enterpriseDepartmentName":null}],"hasBankCard":true,"hasInviter":true,"salesTaxPoint":2051}]}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:56.978" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.610" endtime="20220819 14:08:56.978"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>userId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${userId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.979" level="INFO">${userId} = 701479226095833088</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.978" endtime="20220819 14:08:56.979"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>mobile</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${mobile}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.979" level="INFO">${mobile} = 15014242835</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.979" endtime="20220819 14:08:56.979"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>realName</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${realName}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.980" level="INFO">${realName} = 南瓜</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.980" endtime="20220819 14:08:56.980"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>enterpriseInfos</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${enterpriseInfos}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.981" level="INFO">${enterpriseInfos} = [{'enterpriseId': '573952019207950336', 'organizationId': '573952019207950336', 'enterpriseName': '江苏康辉新材料科技有限公司', 'locProvinceId': 440000, 'locProvinceName': '广东省', 'locCityId': 440100, 'locCityName'...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.980" endtime="20220819 14:08:56.981"></status>
|
|
</kw>
|
|
<kw name="${items} IN [ @{enterpriseInfos} ]" type="for">
|
|
<kw name="${items} = {'enterpriseId': '573952019207950336', 'organizationId': '573952019207950336', 'enterpriseName': '江苏康辉新材料科技有限公司', 'locProvinceId': 440000, 'locProvinceName': '广东省', 'locCityId': 440100, 'locCityName':..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>factoryInfos</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${factoryInfos}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.982" level="INFO">${factoryInfos} = [{'factoryId': '573960116148244480', 'factoryName': '萬镓再生资源', 'type': 'ADMIN', 'positionId': None, 'enterpriseRoleName': '管理员厂长', 'enterpriseRoleId': None, 'responsiblePersonName': '张山', 'responsibleP...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.981" endtime="20220819 14:08:56.982"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>enterpriseId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${enterpriseId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.982" level="INFO">${enterpriseId} = 573952019207950336</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.982" endtime="20220819 14:08:56.982"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>organizationId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${organizationId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.982" level="INFO">${organizationId} = 573952019207950336</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.982" endtime="20220819 14:08:56.982"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>enterpriseName</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${enterpriseName}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.983" level="INFO">${enterpriseName} = 江苏康辉新材料科技有限公司</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.983" endtime="20220819 14:08:56.983"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${enterpriseId}'=='738812239011778560'</arg>
|
|
</arguments>
|
|
<status status="PASS" starttime="20220819 14:08:56.983" endtime="20220819 14:08:56.983"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:56.981" endtime="20220819 14:08:56.983"></status>
|
|
</kw>
|
|
<kw name="${items} = {'enterpriseId': '738812239011778560', 'organizationId': '738812119994208256', 'enterpriseName': '武汉市青山区恒志纸业环保打包厂', 'locProvinceId': None, 'locProvinceName': None, 'locCityId': None, 'locCityName': No..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>factoryInfos</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${factoryInfos}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.984" level="INFO">${factoryInfos} = [{'factoryId': '738816441691803648', 'factoryName': '工厂版打包站', 'type': 'ADMIN', 'positionId': None, 'enterpriseRoleName': '管理员', 'enterpriseRoleId': None, 'responsiblePersonName': '待补充', 'responsiblePe...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.984" endtime="20220819 14:08:56.984"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>enterpriseId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${enterpriseId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.984" level="INFO">${enterpriseId} = 738812239011778560</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.984" endtime="20220819 14:08:56.984"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>organizationId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${organizationId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.985" level="INFO">${organizationId} = 738812119994208256</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.985" endtime="20220819 14:08:56.985"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>enterpriseName</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${enterpriseName}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.985" level="INFO">${enterpriseName} = 武汉市青山区恒志纸业环保打包厂</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.985" endtime="20220819 14:08:56.985"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${enterpriseId}'=='738812239011778560'</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.986" level="INFO">Exiting for loop altogether.</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.985" endtime="20220819 14:08:56.986"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:56.983" endtime="20220819 14:08:56.986"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:56.981" endtime="20220819 14:08:56.986"></status>
|
|
</kw>
|
|
<kw name="${factoryInfo} IN [ @{factoryInfos} ]" type="for">
|
|
<kw name="${factoryInfo} = {'factoryId': '738816441691803648', 'factoryName': '工厂版打包站', 'type': 'ADMIN', 'positionId': None, 'enterpriseRoleName': '管理员', 'enterpriseRoleId': None, 'responsiblePersonName': '待补充', 'responsiblePer..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${factoryInfo}</arg>
|
|
<arg>factoryId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${factoryId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.987" level="INFO">${factoryId} = 738816441691803648</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.986" endtime="20220819 14:08:56.987"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${factoryInfo}</arg>
|
|
<arg>factoryName</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${factoryName}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.987" level="INFO">${factoryName} = 工厂版打包站</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.987" endtime="20220819 14:08:56.987"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${factoryId}'=='738816441691803648'</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.987" level="INFO">Exiting for loop altogether.</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.987" endtime="20220819 14:08:56.987"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:56.986" endtime="20220819 14:08:56.987"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:56.986" endtime="20220819 14:08:56.987"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{'Content-Type':'application/json','Authorization':'QNT ${TokenData}','X-APP-ID':'503258978847953926','X-FACTORY-ID':'${factoryId}'}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${client_header}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.988" level="INFO">${client_header} = {'Content-Type':'application/json','Authorization':'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==','X-APP-ID':'503258978847953926','X-FACTORY-ID':'738816...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.988" endtime="20220819 14:08:56.988"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{'Authorization':'QNT ${TokenData}','X-APP-ID':'503258978847953926','X-FACTORY-ID':'${factoryId}'}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${Header}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:56.989" level="INFO">${Header} = {'Authorization':'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==','X-APP-ID':'503258978847953926','X-FACTORY-ID':'738816441691803648'}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.989" endtime="20220819 14:08:56.989"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${factoryId}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.990" level="INFO">${factoryId} = 738816441691803648</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.990" endtime="20220819 14:08:56.990"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${factoryName}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.990" level="INFO">${factoryName} = 工厂版打包站</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.990" endtime="20220819 14:08:56.991"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${client_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.991" level="INFO">${client_header} = {'Content-Type':'application/json','Authorization':'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==','X-APP-ID':'503258978847953926','X-FACTORY-ID':'738816...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.991" endtime="20220819 14:08:56.991"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${organizationId}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.992" level="INFO">${organizationId} = 738812119994208256</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.991" endtime="20220819 14:08:56.992"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${enterpriseName}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.993" level="INFO">${enterpriseName} = 武汉市青山区恒志纸业环保打包厂</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.992" endtime="20220819 14:08:56.993"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${Header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:56.993" level="INFO">${Header} = {'Authorization':'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==','X-APP-ID':'503258978847953926','X-FACTORY-ID':'738816441691803648'}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:56.993" endtime="20220819 14:08:56.993"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:56.608" endtime="20220819 14:08:56.994" critical="yes"></status>
|
|
</test>
|
|
<status status="PASS" starttime="20220819 14:08:56.325" endtime="20220819 14:08:56.994"></status>
|
|
</suite>
|
|
<suite id="s1-s1-s3" name="2-OpsLogin" source="/root/ztb-factory-rf-api/000-Data/2-OpsLogin.robot">
|
|
<test id="s1-s1-s3-t1" name="login">
|
|
<kw name="Disable Warnings" library="urllib3">
|
|
<doc>Helper for quickly disabling all urllib3 warnings.</doc>
|
|
<status status="PASS" starttime="20220819 14:08:57.001" endtime="20220819 14:08:57.001"></status>
|
|
</kw>
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>${opsztb}</arg>
|
|
<arg>${ops_login_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.002" level="INFO">Creating Session using : alias=ztbf, url=https://api-ops-ztb-test.qniao.cn, headers={'content-type': 'application/x-www-form-urlencoded', 'X-APP-ID': '470236309865238555'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.001" endtime="20220819 14:08:57.002"></status>
|
|
</kw>
|
|
<kw name="Create Dictionary" library="BuiltIn">
|
|
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
|
|
<arguments>
|
|
<arg>username=${username}</arg>
|
|
<arg>password=${password}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${LoginData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.003" level="INFO">${LoginData} = {'username': 'laiyonglan@qniao.cn', 'password': 'qn123456'}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.002" endtime="20220819 14:08:57.003"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>recycle-service/admin/login</arg>
|
|
<arg>params=${LoginData}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.183" level="INFO">POST Request : url=https://api-ops-ztb-test.qniao.cn/recycle-service/admin/login?username=laiyonglan%40qniao.cn&password=qn123456
|
|
path_url=/recycle-service/admin/login?username=laiyonglan%40qniao.cn&password=qn123456
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'content-type': 'application/x-www-form-urlencoded', 'X-APP-ID': '470236309865238555', 'Content-Length': '0'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.183" level="INFO">POST Response : url=https://api-ops-ztb-test.qniao.cn/recycle-service/admin/login?username=laiyonglan%40qniao.cn&password=qn123456
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:57 GMT', 'Content-Type': 'application/json;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers', 'X-Frame-Options': 'DENY', 'Access-Control-Request-Method': '*', 'Authorization': 'Token 6b08add42d6bcf73abb935b2adf83525', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '1; mode=block', 'Cache-Control': 'no-cache'}
|
|
body={"code":200,"message":"登陆成功"}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.183" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.003" endtime="20220819 14:08:57.184"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:57.000" endtime="20220819 14:08:57.184" critical="yes"></status>
|
|
</test>
|
|
<status status="PASS" starttime="20220819 14:08:56.996" endtime="20220819 14:08:57.184"></status>
|
|
</suite>
|
|
<suite id="s1-s1-s4" name="3-Infomation" source="/root/ztb-factory-rf-api/000-Data/3-Infomation.robot">
|
|
<test id="s1-s1-s4-t1" name="getInformation">
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>${ztbClient}</arg>
|
|
<arg>${client_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.190" level="INFO">Creating Session using : alias=ztbf, url=https://api-client-ztb-test.qniao.cn, headers={'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.190" endtime="20220819 14:08:57.190"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/factory/get/all-product</arg>
|
|
<arg>params=pageNum=1&pageSize=100</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.263" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/get/all-product?pageNum=1&pageSize=100
|
|
path_url=/ztb-factory/factory/get/all-product?pageNum=1&pageSize=100
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.263" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/get/all-product?pageNum=1&pageSize=100
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:57 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"id":"101010101","name":"废纸","smallProductCategoryInfoList":[{"id":"741711213142085632","factoryId":null,"categoryId":1,"categoryName":"白卡","name":"白卡","defaultUnitPrice":2.10000,"highestUnitPrice":2.50000,"lowestUnitPrice":0.00000,"highestAdjustmentSurcharge":null,"lowestAdjustmentSurcharge":null,"creatorId":null,"editorId":null},{"id":"741711135404855296","factoryId":null,"categoryId":483388222118957056,"categoryName":"口杯纸","name":"口杯纸","defaultUnitPrice":1.50000,"highestUnitPrice":2.00000,"lowestUnitPrice":0.00000,"highestAdjustmentSurcharge":null,"lowestAdjustmentSurcharge":null,"creatorId":null,"editorId":null},{"id":"741711066156896256","factoryId":null,"categoryId":480878211421573182,"categoryName":"不干胶","name":"不干胶","defaultUnitPrice":2.00000,"highestUnitPrice":3.00000,"lowestUnitPrice":0.00000,"highestAdjustmentSurcharge":null,"lowestAdjustmentSurcharge":null,"creatorId":null,"editorId":null},{"id":"741366869373620224","factoryId":null,"categoryId":480878211421573177,"categoryName":"纸杯纸","name":"纸杯纸","defaultUnitPrice":2.00000,"highestUnitPrice":3.00000,"lowestUnitPrice":0.00000,"highestAdjustmentSurcharge":null,"lowestAdjustmentSurcharge":null,"creatorId":null,"editorId":null},{"id":"741347466523316224","factoryId":null,"categoryId":716753824810930176,"categoryName":"hinzai测试废废","name":"hinzai测试废废","defaultUnitPrice":6.00000,"highestUnitPrice":10.00000,"lowestUnitPrice":0.00000,"highestAdjustmentSurcharge":null,"lowestAdjustmentSurcharge":null,"creatorId":null,"editorId":null},{"id":"741345072695611392","factoryId":null,"categoryId":480878211421573206,"categoryName":"纯工厂纸边","name":"纯工厂纸边","defaultUnitPrice":5.00000,"highestUnitPrice":6.50000,"lowestUnitPrice":0.00000,"highestAdjustmentSurcharge":null,"lowestAdjustmentSurcharge":null,"creatorId":null,"editorId":null},{"id":"740621805735251968","factoryId":null,"categoryId":480878211421573175,"categoryName":"纸筒","name":"纸筒","defaultUnitPrice":2.00000,"highestUnitPrice":5.00000,"lowestUnitPrice":0.00000,"highestAdjustmentSurcharge":null,"lowestAdjustmentSurcharge":null,"creatorId":null,"editorId":null},{"id":"738827538708697088","factoryId":null,"categoryId":480878211421573178,"categoryName":"统货CD","name":"统货","defaultUnitPrice":5.60000,"highestUnitPrice":10.00000,"lowestUnitPrice":0.00000,"highestAdjustmentSurcharge":null,"lowestAdjustmentSurcharge":null,"creatorId":null,"editorId":null},{"id":"738825854896967680","factoryId":null,"categoryId":480878211421573148,"categoryName":"纸筒A","name":"纸筒A","defaultUnitPrice":10.00000,"highestUnitPrice":20.00000,"lowestUnitPrice":0.00000,"highestAdjustmentSurcharge":null,"lowestAdjustmentSurcharge":null,"creatorId":null,"editorId":null}]},{"id":"202020202","name":"废钢","smallProductCategoryInfoList":[]},{"id":"303030303","name":"废铁","smallProductCategoryInfoList":[]},{"id":"404040404","name":"废塑料","smallProductCategoryInfoList":[]}],"total":0,"size":100,"current":1,"pages":0}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.264" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.190" endtime="20220819 14:08:57.264"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>records</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${records}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.265" level="INFO">${records} = [{'id': '101010101', 'name': '废纸', 'smallProductCategoryInfoList': [{'id': '741711213142085632', 'factoryId': None, 'categoryId': 1, 'categoryName': '白卡', 'name': '白卡', 'defaultUnitPrice': 2.1, 'highe...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.264" endtime="20220819 14:08:57.265"></status>
|
|
</kw>
|
|
<kw name="${items} IN [ @{records} ]" type="for">
|
|
<kw name="${items} = {'id': '101010101', 'name': '废纸', 'smallProductCategoryInfoList': [{'id': '741711213142085632', 'factoryId': None, 'categoryId': 1, 'categoryName': '白卡', 'name': '白卡', 'defaultUnitPrice': 2.1, 'highes..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${id}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.266" level="INFO">${id} = 101010101</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.266" endtime="20220819 14:08:57.266"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>name</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${name}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.266" level="INFO">${name} = 废纸</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.266" endtime="20220819 14:08:57.266"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>smallProductCategoryInfoList</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${smallProductCategoryInfoList}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.267" level="INFO">${smallProductCategoryInfoList} = [{'id': '741711213142085632', 'factoryId': None, 'categoryId': 1, 'categoryName': '白卡', 'name': '白卡', 'defaultUnitPrice': 2.1, 'highestUnitPrice': 2.5, 'lowestUnitPrice': 0.0, 'highestAdjustmentSurcha...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.267" endtime="20220819 14:08:57.267"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${id}'=='101010101'</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.267" level="INFO">Exiting for loop altogether.</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.267" endtime="20220819 14:08:57.268"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:57.265" endtime="20220819 14:08:57.268"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:57.265" endtime="20220819 14:08:57.268"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.choice(${smallProductCategoryInfoList})</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${CategoryInfo}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.269" level="INFO">${CategoryInfo} = {'id': '741345072695611392', 'factoryId': None, 'categoryId': 480878211421573206, 'categoryName': '纯工厂纸边', 'name': '纯工厂纸边', 'defaultUnitPrice': 5.0, 'highestUnitPrice': 6.5, 'lowestUnitPrice': 0.0, 'h...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.268" endtime="20220819 14:08:57.269"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CategoryInfo}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${categoryId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.270" level="INFO">${categoryId} = 741345072695611392</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.269" endtime="20220819 14:08:57.270"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CategoryInfo}</arg>
|
|
<arg>categoryName</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${categoryName}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.270" level="INFO">${categoryName} = 纯工厂纸边</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.270" endtime="20220819 14:08:57.270"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CategoryInfo}</arg>
|
|
<arg>defaultUnitPrice</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${defaultUnitPrice}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.271" level="INFO">${defaultUnitPrice} = 5.0</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.270" endtime="20220819 14:08:57.271"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CategoryInfo}</arg>
|
|
<arg>highestUnitPrice</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${highestUnitPrice}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.271" level="INFO">${highestUnitPrice} = 6.5</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.271" endtime="20220819 14:08:57.271"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CategoryInfo}</arg>
|
|
<arg>categoryId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${productcategoryId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.272" level="INFO">${productcategoryId} = 480878211421573206</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.271" endtime="20220819 14:08:57.272"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${categoryId}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.272" level="INFO">${categoryId} = 741345072695611392</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.272" endtime="20220819 14:08:57.272"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${categoryName}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.273" level="INFO">${categoryName} = 纯工厂纸边</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.272" endtime="20220819 14:08:57.273"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${defaultUnitPrice}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.273" level="INFO">${defaultUnitPrice} = 5.0</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.273" endtime="20220819 14:08:57.273"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${highestUnitPrice}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.274" level="INFO">${highestUnitPrice} = 6.5</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.273" endtime="20220819 14:08:57.274"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${productcategoryId}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.274" level="INFO">${productcategoryId} = 480878211421573206</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.274" endtime="20220819 14:08:57.274"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/factory/get/customer-list</arg>
|
|
<arg>params=name=&pageNum=1&pageSize=1500</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.306" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/get/customer-list?name=&pageNum=1&pageSize=1500
|
|
path_url=/ztb-factory/factory/get/customer-list?name=&pageNum=1&pageSize=1500
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.306" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/get/customer-list?name=&pageNum=1&pageSize=1500
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:57 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"id":"136","cardNo":"2836579628","name":"小可爱","mobile":null,"defaultPaymentMethod":2,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":"659450159519895552","customerSettleType":1,"bankOwnerName":null},{"id":"135","cardNo":null,"name":"小盆友","mobile":null,"defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":"704315180259086336","customerSettleType":1,"bankOwnerName":null},{"id":"133","cardNo":"3391895980","name":"芦雪庵","mobile":null,"defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":"659450159519895552","customerSettleType":1,"bankOwnerName":null},{"id":"132","cardNo":null,"name":"破落户","mobile":"16666666666","defaultPaymentMethod":2,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"131","cardNo":null,"name":"宝姐姐","mobile":null,"defaultPaymentMethod":2,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"130","cardNo":null,"name":"妙玉","mobile":null,"defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":"636564967314821120","customerSettleType":1,"bankOwnerName":null},{"id":"129","cardNo":null,"name":"省亲","mobile":null,"defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"128","cardNo":null,"name":"杏花在望","mobile":null,"defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"127","cardNo":null,"name":"泻玉","mobile":null,"defaultPaymentMethod":2,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"126","cardNo":null,"name":"哈哈","mobile":"18888888888/020-88888888","defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"125","cardNo":null,"name":"小小","mobile":"18888888888","defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":"659450159519895552","customerSettleType":1,"bankOwnerName":null}],"total":11,"size":1500,"current":1,"pages":1}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.306" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.275" endtime="20220819 14:08:57.306"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>records</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${customerList}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.307" level="INFO">${customerList} = [{'id': '136', 'cardNo': '2836579628', 'name': '小可爱', 'mobile': None, 'defaultPaymentMethod': 2, 'bankName': None, 'bankBranchName': None, 'bankCardNo': None, 'userId': '659450159519895552', 'customer...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.307" endtime="20220819 14:08:57.308"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.choice(${customerList})</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${CustomerInfo}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.309" level="INFO">${CustomerInfo} = {'id': '126', 'cardNo': None, 'name': '哈哈', 'mobile': '18888888888/020-88888888', 'defaultPaymentMethod': 1, 'bankName': None, 'bankBranchName': None, 'bankCardNo': None, 'userId': None, 'customerSett...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.308" endtime="20220819 14:08:57.309"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CustomerInfo}</arg>
|
|
<arg>name</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${name}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.309" level="INFO">${name} = 哈哈</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.309" endtime="20220819 14:08:57.310"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CustomerInfo}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${CustomerId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.310" level="INFO">${CustomerId} = 126</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.310" endtime="20220819 14:08:57.310"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CustomerInfo}</arg>
|
|
<arg>customerSettleType</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${customerSettleType}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.310" level="INFO">${customerSettleType} = 1</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.310" endtime="20220819 14:08:57.311"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${name}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.311" level="INFO">${name} = 哈哈</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.311" endtime="20220819 14:08:57.311"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${CustomerId}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.312" level="INFO">${CustomerId} = 126</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.312" endtime="20220819 14:08:57.312"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${customerSettleType}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.313" level="INFO">${customerSettleType} = 1</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.312" endtime="20220819 14:08:57.313"></status>
|
|
</kw>
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>${ztbClient}</arg>
|
|
<arg>${client_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.313" level="INFO">Creating Session using : alias=ztbf, url=https://api-client-ztb-test.qniao.cn, headers={'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.313" endtime="20220819 14:08:57.314"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/factory/get/customer-list</arg>
|
|
<arg>params=name=&pageNum=1&pageSize=1500</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.362" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/get/customer-list?name=&pageNum=1&pageSize=1500
|
|
path_url=/ztb-factory/factory/get/customer-list?name=&pageNum=1&pageSize=1500
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.363" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/get/customer-list?name=&pageNum=1&pageSize=1500
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:57 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"id":"136","cardNo":"2836579628","name":"小可爱","mobile":null,"defaultPaymentMethod":2,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":"659450159519895552","customerSettleType":1,"bankOwnerName":null},{"id":"135","cardNo":null,"name":"小盆友","mobile":null,"defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":"704315180259086336","customerSettleType":1,"bankOwnerName":null},{"id":"133","cardNo":"3391895980","name":"芦雪庵","mobile":null,"defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":"659450159519895552","customerSettleType":1,"bankOwnerName":null},{"id":"132","cardNo":null,"name":"破落户","mobile":"16666666666","defaultPaymentMethod":2,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"131","cardNo":null,"name":"宝姐姐","mobile":null,"defaultPaymentMethod":2,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"130","cardNo":null,"name":"妙玉","mobile":null,"defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":"636564967314821120","customerSettleType":1,"bankOwnerName":null},{"id":"129","cardNo":null,"name":"省亲","mobile":null,"defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"128","cardNo":null,"name":"杏花在望","mobile":null,"defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"127","cardNo":null,"name":"泻玉","mobile":null,"defaultPaymentMethod":2,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"126","cardNo":null,"name":"哈哈","mobile":"18888888888/020-88888888","defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"125","cardNo":null,"name":"小小","mobile":"18888888888","defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":"659450159519895552","customerSettleType":1,"bankOwnerName":null}],"total":11,"size":1500,"current":1,"pages":1}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.363" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.314" endtime="20220819 14:08:57.363"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>records</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ReceiptCustomerList}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.364" level="INFO">${ReceiptCustomerList} = [{'id': '136', 'cardNo': '2836579628', 'name': '小可爱', 'mobile': None, 'defaultPaymentMethod': 2, 'bankName': None, 'bankBranchName': None, 'bankCardNo': None, 'userId': '659450159519895552', 'customer...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.363" endtime="20220819 14:08:57.364"></status>
|
|
</kw>
|
|
<kw name="${ReceiptCustomerInfo} IN [ @{ReceiptCustomerList} ]" type="for">
|
|
<kw name="${ReceiptCustomerInfo} = {'id': '136', 'cardNo': '2836579628', 'name': '小可爱', 'mobile': None, 'defaultPaymentMethod': 2, 'bankName': None, 'bankBranchName': None, 'bankCardNo': None, 'userId': '659450159519895552', 'customerS..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${ReceiptCustomerInfo}</arg>
|
|
<arg>name</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ReceiptName}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.365" level="INFO">${ReceiptName} = 小可爱</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.365" endtime="20220819 14:08:57.365"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${ReceiptCustomerInfo}</arg>
|
|
<arg>cardNo</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ReceiptcardNo}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.366" level="INFO">${ReceiptcardNo} = 2836579628</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.365" endtime="20220819 14:08:57.366"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${ReceiptCustomerInfo}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ReceiptCustomerId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.366" level="INFO">${ReceiptCustomerId} = 136</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.366" endtime="20220819 14:08:57.366"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${ReceiptCustomerId}'=='136'</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.366" level="INFO">Exiting for loop altogether.</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.366" endtime="20220819 14:08:57.367"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:57.364" endtime="20220819 14:08:57.367"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:57.364" endtime="20220819 14:08:57.367"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${ReceiptName}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.367" level="INFO">${ReceiptName} = 小可爱</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.367" endtime="20220819 14:08:57.367"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${ReceiptcardNo}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.368" level="INFO">${ReceiptcardNo} = 2836579628</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.367" endtime="20220819 14:08:57.368"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${ReceiptCustomerId}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.368" level="INFO">${ReceiptCustomerId} = 136</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.368" endtime="20220819 14:08:57.368"></status>
|
|
</kw>
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>${ztbClient}</arg>
|
|
<arg>${client_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.369" level="INFO">Creating Session using : alias=ztbf, url=https://api-client-ztb-test.qniao.cn, headers={'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.368" endtime="20220819 14:08:57.369"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/factory/get/customer-list</arg>
|
|
<arg>params=name=&pageNum=1&pageSize=1500</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.420" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/get/customer-list?name=&pageNum=1&pageSize=1500
|
|
path_url=/ztb-factory/factory/get/customer-list?name=&pageNum=1&pageSize=1500
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.421" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/get/customer-list?name=&pageNum=1&pageSize=1500
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:57 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"id":"136","cardNo":"2836579628","name":"小可爱","mobile":null,"defaultPaymentMethod":2,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":"659450159519895552","customerSettleType":1,"bankOwnerName":null},{"id":"135","cardNo":null,"name":"小盆友","mobile":null,"defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":"704315180259086336","customerSettleType":1,"bankOwnerName":null},{"id":"133","cardNo":"3391895980","name":"芦雪庵","mobile":null,"defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":"659450159519895552","customerSettleType":1,"bankOwnerName":null},{"id":"132","cardNo":null,"name":"破落户","mobile":"16666666666","defaultPaymentMethod":2,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"131","cardNo":null,"name":"宝姐姐","mobile":null,"defaultPaymentMethod":2,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"130","cardNo":null,"name":"妙玉","mobile":null,"defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":"636564967314821120","customerSettleType":1,"bankOwnerName":null},{"id":"129","cardNo":null,"name":"省亲","mobile":null,"defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"128","cardNo":null,"name":"杏花在望","mobile":null,"defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"127","cardNo":null,"name":"泻玉","mobile":null,"defaultPaymentMethod":2,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"126","cardNo":null,"name":"哈哈","mobile":"18888888888/020-88888888","defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":null,"customerSettleType":1,"bankOwnerName":null},{"id":"125","cardNo":null,"name":"小小","mobile":"18888888888","defaultPaymentMethod":1,"bankName":null,"bankBranchName":null,"bankCardNo":null,"userId":"659450159519895552","customerSettleType":1,"bankOwnerName":null}],"total":11,"size":1500,"current":1,"pages":1}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.421" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.369" endtime="20220819 14:08:57.421"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>records</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${customerList}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.422" level="INFO">${customerList} = [{'id': '136', 'cardNo': '2836579628', 'name': '小可爱', 'mobile': None, 'defaultPaymentMethod': 2, 'bankName': None, 'bankBranchName': None, 'bankCardNo': None, 'userId': '659450159519895552', 'customer...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.421" endtime="20220819 14:08:57.422"></status>
|
|
</kw>
|
|
<kw name="${CustomerInfo} IN [ @{customerList} ]" type="for">
|
|
<kw name="${CustomerInfo} = {'id': '136', 'cardNo': '2836579628', 'name': '小可爱', 'mobile': None, 'defaultPaymentMethod': 2, 'bankName': None, 'bankBranchName': None, 'bankCardNo': None, 'userId': '659450159519895552', 'customerS..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CustomerInfo}</arg>
|
|
<arg>name</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${Offsitename}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.423" level="INFO">${Offsitename} = 小可爱</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.423" endtime="20220819 14:08:57.423"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CustomerInfo}</arg>
|
|
<arg>cardNo</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OffsitecardNo}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.423" level="INFO">${OffsitecardNo} = 2836579628</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.423" endtime="20220819 14:08:57.423"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CustomerInfo}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OffsiteCustomerId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.424" level="INFO">${OffsiteCustomerId} = 136</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.424" endtime="20220819 14:08:57.424"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${OffsiteCustomerId}'=='133'</arg>
|
|
</arguments>
|
|
<status status="PASS" starttime="20220819 14:08:57.424" endtime="20220819 14:08:57.424"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:57.422" endtime="20220819 14:08:57.424"></status>
|
|
</kw>
|
|
<kw name="${CustomerInfo} = {'id': '135', 'cardNo': None, 'name': '小盆友', 'mobile': None, 'defaultPaymentMethod': 1, 'bankName': None, 'bankBranchName': None, 'bankCardNo': None, 'userId': '704315180259086336', 'customerSettleTyp..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CustomerInfo}</arg>
|
|
<arg>name</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${Offsitename}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.425" level="INFO">${Offsitename} = 小盆友</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.425" endtime="20220819 14:08:57.425"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CustomerInfo}</arg>
|
|
<arg>cardNo</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OffsitecardNo}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.425" level="INFO">${OffsitecardNo} = None</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.425" endtime="20220819 14:08:57.425"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CustomerInfo}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OffsiteCustomerId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.426" level="INFO">${OffsiteCustomerId} = 135</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.425" endtime="20220819 14:08:57.426"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${OffsiteCustomerId}'=='133'</arg>
|
|
</arguments>
|
|
<status status="PASS" starttime="20220819 14:08:57.426" endtime="20220819 14:08:57.427"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:57.424" endtime="20220819 14:08:57.427"></status>
|
|
</kw>
|
|
<kw name="${CustomerInfo} = {'id': '133', 'cardNo': '3391895980', 'name': '芦雪庵', 'mobile': None, 'defaultPaymentMethod': 1, 'bankName': None, 'bankBranchName': None, 'bankCardNo': None, 'userId': '659450159519895552', 'customerS..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CustomerInfo}</arg>
|
|
<arg>name</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${Offsitename}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.427" level="INFO">${Offsitename} = 芦雪庵</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.427" endtime="20220819 14:08:57.427"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CustomerInfo}</arg>
|
|
<arg>cardNo</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OffsitecardNo}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.428" level="INFO">${OffsitecardNo} = 3391895980</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.428" endtime="20220819 14:08:57.428"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${CustomerInfo}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OffsiteCustomerId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.428" level="INFO">${OffsiteCustomerId} = 133</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.428" endtime="20220819 14:08:57.428"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${OffsiteCustomerId}'=='133'</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.429" level="INFO">Exiting for loop altogether.</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.428" endtime="20220819 14:08:57.429"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:57.427" endtime="20220819 14:08:57.429"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:57.422" endtime="20220819 14:08:57.429"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${Offsitename}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.429" level="INFO">${Offsitename} = 芦雪庵</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.429" endtime="20220819 14:08:57.430"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${OffsitecardNo}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.430" level="INFO">${OffsitecardNo} = 3391895980</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.430" endtime="20220819 14:08:57.430"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${OffsiteCustomerId}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.431" level="INFO">${OffsiteCustomerId} = 133</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.430" endtime="20220819 14:08:57.431"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/factorydeliverychannel/get/self-factory-delivery-channel-list</arg>
|
|
<arg>params=pageNum=1&pageSize=20</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.461" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factorydeliverychannel/get/self-factory-delivery-channel-list?pageNum=1&pageSize=20
|
|
path_url=/ztb-factory/factorydeliverychannel/get/self-factory-delivery-channel-list?pageNum=1&pageSize=20
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.462" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factorydeliverychannel/get/self-factory-delivery-channel-list?pageNum=1&pageSize=20
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:57 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"id":"741366441508474880","factoryId":"738816441691803648","type":1,"name":"有望","contacts":null,"mobile":null,"address":null,"roleId":null,"roleName":null},{"id":"741366333685501952","factoryId":"738816441691803648","type":1,"name":"宝珠","contacts":null,"mobile":null,"address":null,"roleId":null,"roleName":null},{"id":"741366279692226560","factoryId":"738816441691803648","type":1,"name":"胧月大魔王","contacts":null,"mobile":null,"address":null,"roleId":null,"roleName":null},{"id":"741366230186856448","factoryId":"738816441691803648","type":1,"name":"卫临","contacts":null,"mobile":null,"address":null,"roleId":null,"roleName":null},{"id":"741366180912173056","factoryId":"738816441691803648","type":1,"name":"实初哥哥","contacts":null,"mobile":null,"address":null,"roleId":null,"roleName":null},{"id":"741366148305653760","factoryId":"738816441691803648","type":1,"name":"紫禁城","contacts":null,"mobile":null,"address":null,"roleId":null,"roleName":null},{"id":"741366102373830656","factoryId":"738816441691803648","type":1,"name":"嬛嬛一袅楚宫腰","contacts":null,"mobile":null,"address":null,"roleId":null,"roleName":null},{"id":"741366047751409664","factoryId":"738816441691803648","type":1,"name":"流珠姑娘","contacts":null,"mobile":null,"address":null,"roleId":null,"roleName":null},{"id":"741365978201460736","factoryId":"738816441691803648","type":1,"name":"颦儿","contacts":null,"mobile":null,"address":null,"roleId":null,"roleName":null},{"id":"738827790039781376","factoryId":"738816441691803648","type":1,"name":"测试1号","contacts":null,"mobile":null,"address":null,"roleId":null,"roleName":null}],"total":10,"size":20,"current":1,"pages":1}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.462" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.431" endtime="20220819 14:08:57.462"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>records</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ChannelList}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.463" level="INFO">${ChannelList} = [{'id': '741366441508474880', 'factoryId': '738816441691803648', 'type': 1, 'name': '有望', 'contacts': None, 'mobile': None, 'address': None, 'roleId': None, 'roleName': None}, {'id': '7413663336855019...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.462" endtime="20220819 14:08:57.463"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.choice(${ChannelList})</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ChannelInfo}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.464" level="INFO">${ChannelInfo} = {'id': '741366148305653760', 'factoryId': '738816441691803648', 'type': 1, 'name': '紫禁城', 'contacts': None, 'mobile': None, 'address': None, 'roleId': None, 'roleName': None}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.463" endtime="20220819 14:08:57.464"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${ChannelInfo}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ChannelId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.464" level="INFO">${ChannelId} = 741366148305653760</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.464" endtime="20220819 14:08:57.464"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${ChannelInfo}</arg>
|
|
<arg>factoryId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${factoryId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.465" level="INFO">${factoryId} = 738816441691803648</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.464" endtime="20220819 14:08:57.465"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${ChannelInfo}</arg>
|
|
<arg>name</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ChannelName}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.465" level="INFO">${ChannelName} = 紫禁城</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.465" endtime="20220819 14:08:57.466"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${factoryId}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.466" level="INFO">${factoryId} = 738816441691803648</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.466" endtime="20220819 14:08:57.466"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${ChannelId}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.466" level="INFO">${ChannelId} = 741366148305653760</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.466" endtime="20220819 14:08:57.467"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${ChannelName}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.467" level="INFO">${ChannelName} = 紫禁城</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.467" endtime="20220819 14:08:57.467"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>recycle-user-center/get/self-department-member-list</arg>
|
|
<arg>params=enterpriseId=null&isPassFromBackstage=1</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.507" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/recycle-user-center/get/self-department-member-list?enterpriseId=null&isPassFromBackstage=1
|
|
path_url=/recycle-user-center/get/self-department-member-list?enterpriseId=null&isPassFromBackstage=1
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.507" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/recycle-user-center/get/self-department-member-list?enterpriseId=null&isPassFromBackstage=1
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:57 GMT', 'Content-Type': 'application/json;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"enterpriseMemberId":"744286805565771776","enterpriseMemberName":"郑子荣","mobile":"13609002084","enterpriseDepartmentId":"738816442153177088","enterpriseDepartmentName":"工厂版打包站","createTime":"2022-07-12 17:31:08","joinAt":"2022-07-12 17:31:08","updateTime":"2022-07-12 17:31:08","status":0,"enterpriseRoleNames":"管理员","enterpriseRoleIds":"738816442975260672","cardId":null,"cardNo":null},{"enterpriseMemberId":"740613817616175104","enterpriseMemberName":"hinzai ","mobile":"13168550964","enterpriseDepartmentId":"738816442153177088","enterpriseDepartmentName":"工厂版打包站","createTime":"2022-07-02 14:16:00","joinAt":"2022-07-11 00:00:00","updateTime":"2022-07-11 11:56:48","status":0,"enterpriseRoleNames":"分拣工,厂长,财务,管理员","enterpriseRoleIds":"738816442564218880,738816442270617600,738816442924929024,738816442975260672","cardId":"528","cardNo":"3391285068"},{"enterpriseMemberId":"738823017987182592","enterpriseMemberName":"南瓜","mobile":"15014242835","enterpriseDepartmentId":"738816442153177088","enterpriseDepartmentName":"工厂版打包站","createTime":"2022-06-27 15:40:00","joinAt":"2022-06-27 00:00:00","updateTime":"2022-06-27 16:32:26","status":0,"enterpriseRoleNames":"管理员","enterpriseRoleIds":"738816442975260672","cardId":"515","cardNo":"2836625596"}],"total":3,"size":50,"current":1}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.507" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.467" endtime="20220819 14:08:57.507"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>records</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${MemberList}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.508" level="INFO">${MemberList} = [{'enterpriseMemberId': '744286805565771776', 'enterpriseMemberName': '郑子荣', 'mobile': '13609002084', 'enterpriseDepartmentId': '738816442153177088', 'enterpriseDepartmentName': '工厂版打包站', 'createTime'...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.507" endtime="20220819 14:08:57.508"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.choice(${MemberList})</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${MemberInfo}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.509" level="INFO">${MemberInfo} = {'enterpriseMemberId': '744286805565771776', 'enterpriseMemberName': '郑子荣', 'mobile': '13609002084', 'enterpriseDepartmentId': '738816442153177088', 'enterpriseDepartmentName': '工厂版打包站', 'createTime':...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.508" endtime="20220819 14:08:57.509"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${MemberInfo}</arg>
|
|
<arg>enterpriseMemberId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${enterpriseMemberId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.510" level="INFO">${enterpriseMemberId} = 744286805565771776</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.509" endtime="20220819 14:08:57.510"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${MemberInfo}</arg>
|
|
<arg>enterpriseMemberName</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${enterpriseMemberName}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.510" level="INFO">${enterpriseMemberName} = 郑子荣</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.510" endtime="20220819 14:08:57.510"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${enterpriseMemberId}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.511" level="INFO">${enterpriseMemberId} = 744286805565771776</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.510" endtime="20220819 14:08:57.511"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${enterpriseMemberName}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.511" level="INFO">${enterpriseMemberName} = 郑子荣</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.511" endtime="20220819 14:08:57.511"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>recycle-user-center/get/self-department-member-list</arg>
|
|
<arg>params=enterpriseId=null&isPassFromBackstage=1</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.551" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/recycle-user-center/get/self-department-member-list?enterpriseId=null&isPassFromBackstage=1
|
|
path_url=/recycle-user-center/get/self-department-member-list?enterpriseId=null&isPassFromBackstage=1
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.551" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/recycle-user-center/get/self-department-member-list?enterpriseId=null&isPassFromBackstage=1
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:57 GMT', 'Content-Type': 'application/json;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"enterpriseMemberId":"744286805565771776","enterpriseMemberName":"郑子荣","mobile":"13609002084","enterpriseDepartmentId":"738816442153177088","enterpriseDepartmentName":"工厂版打包站","createTime":"2022-07-12 17:31:08","joinAt":"2022-07-12 17:31:08","updateTime":"2022-07-12 17:31:08","status":0,"enterpriseRoleNames":"管理员","enterpriseRoleIds":"738816442975260672","cardId":null,"cardNo":null},{"enterpriseMemberId":"740613817616175104","enterpriseMemberName":"hinzai ","mobile":"13168550964","enterpriseDepartmentId":"738816442153177088","enterpriseDepartmentName":"工厂版打包站","createTime":"2022-07-02 14:16:00","joinAt":"2022-07-11 00:00:00","updateTime":"2022-07-11 11:56:48","status":0,"enterpriseRoleNames":"分拣工,厂长,财务,管理员","enterpriseRoleIds":"738816442564218880,738816442270617600,738816442924929024,738816442975260672","cardId":"528","cardNo":"3391285068"},{"enterpriseMemberId":"738823017987182592","enterpriseMemberName":"南瓜","mobile":"15014242835","enterpriseDepartmentId":"738816442153177088","enterpriseDepartmentName":"工厂版打包站","createTime":"2022-06-27 15:40:00","joinAt":"2022-06-27 00:00:00","updateTime":"2022-06-27 16:32:26","status":0,"enterpriseRoleNames":"管理员","enterpriseRoleIds":"738816442975260672","cardId":"515","cardNo":"2836625596"}],"total":3,"size":50,"current":1}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.551" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.511" endtime="20220819 14:08:57.551"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>records</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutMemberList}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.552" level="INFO">${OutMemberList} = [{'enterpriseMemberId': '744286805565771776', 'enterpriseMemberName': '郑子荣', 'mobile': '13609002084', 'enterpriseDepartmentId': '738816442153177088', 'enterpriseDepartmentName': '工厂版打包站', 'createTime'...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.551" endtime="20220819 14:08:57.552"></status>
|
|
</kw>
|
|
<kw name="${OutMemberInfo} IN [ @{OutMemberList} ]" type="for">
|
|
<kw name="${OutMemberInfo} = {'enterpriseMemberId': '744286805565771776', 'enterpriseMemberName': '郑子荣', 'mobile': '13609002084', 'enterpriseDepartmentId': '738816442153177088', 'enterpriseDepartmentName': '工厂版打包站', 'createTime':..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutMemberInfo}</arg>
|
|
<arg>cardNo</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutCarNo}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.553" level="INFO">${OutCarNo} = None</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.553" endtime="20220819 14:08:57.553"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutMemberInfo}</arg>
|
|
<arg>enterpriseMemberId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutMemberId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.553" level="INFO">${OutMemberId} = 744286805565771776</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.553" endtime="20220819 14:08:57.553"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutMemberInfo}</arg>
|
|
<arg>enterpriseMemberName</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutMemberName}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.554" level="INFO">${OutMemberName} = 郑子荣</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.553" endtime="20220819 14:08:57.554"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${OutMemberId}'=='738823017987182592'</arg>
|
|
</arguments>
|
|
<status status="PASS" starttime="20220819 14:08:57.554" endtime="20220819 14:08:57.554"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:57.552" endtime="20220819 14:08:57.554"></status>
|
|
</kw>
|
|
<kw name="${OutMemberInfo} = {'enterpriseMemberId': '740613817616175104', 'enterpriseMemberName': 'hinzai ', 'mobile': '13168550964', 'enterpriseDepartmentId': '738816442153177088', 'enterpriseDepartmentName': '工厂版打包站', 'createTi..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutMemberInfo}</arg>
|
|
<arg>cardNo</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutCarNo}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.555" level="INFO">${OutCarNo} = 3391285068</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.555" endtime="20220819 14:08:57.555"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutMemberInfo}</arg>
|
|
<arg>enterpriseMemberId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutMemberId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.555" level="INFO">${OutMemberId} = 740613817616175104</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.555" endtime="20220819 14:08:57.555"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutMemberInfo}</arg>
|
|
<arg>enterpriseMemberName</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutMemberName}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.556" level="INFO">${OutMemberName} = hinzai </msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.555" endtime="20220819 14:08:57.556"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${OutMemberId}'=='738823017987182592'</arg>
|
|
</arguments>
|
|
<status status="PASS" starttime="20220819 14:08:57.556" endtime="20220819 14:08:57.556"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:57.554" endtime="20220819 14:08:57.556"></status>
|
|
</kw>
|
|
<kw name="${OutMemberInfo} = {'enterpriseMemberId': '738823017987182592', 'enterpriseMemberName': '南瓜', 'mobile': '15014242835', 'enterpriseDepartmentId': '738816442153177088', 'enterpriseDepartmentName': '工厂版打包站', 'createTime': ..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutMemberInfo}</arg>
|
|
<arg>cardNo</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutCarNo}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.557" level="INFO">${OutCarNo} = 2836625596</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.557" endtime="20220819 14:08:57.557"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutMemberInfo}</arg>
|
|
<arg>enterpriseMemberId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutMemberId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.557" level="INFO">${OutMemberId} = 738823017987182592</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.557" endtime="20220819 14:08:57.557"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutMemberInfo}</arg>
|
|
<arg>enterpriseMemberName</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutMemberName}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.558" level="INFO">${OutMemberName} = 南瓜</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.557" endtime="20220819 14:08:57.558"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${OutMemberId}'=='738823017987182592'</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.558" level="INFO">Exiting for loop altogether.</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.558" endtime="20220819 14:08:57.558"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:57.556" endtime="20220819 14:08:57.558"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:57.552" endtime="20220819 14:08:57.558"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${OutCarNo}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.559" level="INFO">${OutCarNo} = 2836625596</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.559" endtime="20220819 14:08:57.559"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${OutMemberId}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.560" level="INFO">${OutMemberId} = 738823017987182592</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.559" endtime="20220819 14:08:57.560"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${OutMemberName}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.560" level="INFO">${OutMemberName} = 南瓜</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.560" endtime="20220819 14:08:57.560"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>open('./21042217001449712.png','rb')</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${filepath}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.561" level="INFO">${filepath} = <_io.BufferedReader name='./21042217001449712.png'></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.560" endtime="20220819 14:08:57.561"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>open('./21042217001449712.png','rb')</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${image}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.562" level="INFO">${image} = <_io.BufferedReader name='./21042217001449712.png'></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.561" endtime="20220819 14:08:57.562"></status>
|
|
</kw>
|
|
<kw name="Create Dictionary" library="BuiltIn">
|
|
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
|
|
<arguments>
|
|
<arg>file=${filepath}</arg>
|
|
<arg>image=${image}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${file_data}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.563" level="INFO">${file_data} = {'file': <_io.BufferedReader name='./21042217001449712.png'>, 'image': <_io.BufferedReader name='./21042217001449712.png'>}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.562" endtime="20220819 14:08:57.564"></status>
|
|
</kw>
|
|
<kw name="Create Dictionary" library="BuiltIn">
|
|
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
|
|
<arguments>
|
|
<arg>type=image</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${type}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.564" level="INFO">${type} = {'type': 'image'}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.564" endtime="20220819 14:08:57.565"></status>
|
|
</kw>
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>order</arg>
|
|
<arg>${ztbClient}</arg>
|
|
<arg>${Header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.565" level="INFO">Creating Session using : alias=order, url=https://api-client-ztb-test.qniao.cn, headers={'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.565" endtime="20220819 14:08:57.566"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>order</arg>
|
|
<arg>recycle-user-center/file-uploading/upload/image</arg>
|
|
<arg>data=${type}</arg>
|
|
<arg>files=${file_data}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.659" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/recycle-user-center/file-uploading/upload/image
|
|
path_url=/recycle-user-center/file-uploading/upload/image
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '143845', 'Content-Type': 'multipart/form-data; boundary=674c4920562f878d737e6186757a56c4'}
|
|
body=b'--674c4920562f878d737e6186757a56c4\r\nContent-Disposition: form-data; name="type"\r\n\r\nimage\r\n--674c4920562f878d737e6186757a56c4\r\nContent-Disposition: form-data; name="file"; filename="21042217001449712.png"\r\n\r\n\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x02\xb8\x00\x00\x03\xca\x08\x03\x00\x00\x00H\x83\xd9c\x00\x00\x03\x00PLTE\x00\x00\x00\x9b\x14\r\x98\x0f\x0c\x94\x0c\x0c\x95\x10\x0c\x96\x11\x0c\x94\t\r\x94\t\r\xecE=\xfc\x87\x00\xefE:\xe8f3\xe7\xf3\xe4\xff\xfd\xd5\xf8\x99\x13\xe9;-\xdfM1\xe5g&\x99\x17\x0b\xf9\xa53\xdcJ+\xf1\x88\x1a\xfa\xb2_\xe1`\'\xfe\xf9\xe4\xf1u#\xbf.\x0f\xfe\xf9\xe1\xec|\x1c\xfe\xf8\xdc\xd3L\x17\xf8\x8d\x0c\xf4\x87\x16\xfe\xf7\xd4\xd6F#\xfe\xf6\xd0\xf3\x83\x16\xfb\xcbW\xf4\x89 \xfd\xf4\xd3\xe0L$\xfc\xf5\xda\xfe\xf8\xdb\xf4\x85\x1e\xf9\xc1U\xfb\x88\r\xfe\xed\xab\xfc\xc8B\xea\xc1\x9f\xff\xcd\x15\xb6*\x19\xfe\xed\xaa\xf6\xa8S\xff\xd6K\xfb\xe1\x98\xf0\x84D\xf8\xa9K\xdfc\x18\xee?0\xfa\xa9H\xdaP\'\xfa\xd7\x88\xff\xcd\x16\xe4\xa9\x86\xf98\x08\xca\x80w\xf7\xd6\x8c\xdf\xb3\xad\xea\xcf\xca\x00\xaf\xff\x00\xaf\xff\x00\xb0\xff\x00\xaf\xff\x00\xb1\xff\x00\xb1\xff\xff\xe1\xc1\xf9\xec\xea\xff\xff\xff\xf7D<\xfaNG\xf5G>\xf7KC\xf6\xd1\xce\xdeA2\xff\xdb\x17\xea81\xe42,\xee<6\xf3>7\xed\xbdx\xda6\x1e\xf1B;\xfe\xe2=\xff\xe6\xc6\xee\xc1~\xe74.\xff\xfb\xe7\xff\xfa\xd7\xfe\xfa\xdf\xfb\xef\xbc\xfbH@\xfd\xf7\xc7\xdb?0\xee92\xd91\x19\xf0\xc6\x84\xf1\xca\x8a\xf8\xe5\xe4\xfc\xbc\xa1\xf2\xcf\x91\xfd\xd8\xb9\xf8\xe7\xb1\xfe\xe9n\xd5<.\xfc\xc3\xa6\xca4(\xf4\xd5\x99\xd08+\xf8\xe0\xac\xf9\xb4+\xf7\xde\xa6\xf5\xae)\xf1\xab(\xf1\xcb\xc8\xea\xa5%\xee\xa7&\xe6\xa0%\xc30$\xf6\xc4\xc1\xfc\xcd\xaf\xe6\x964\xfe\xf2\xd2\xff\xd9W\xff\xe6\x80\xfe\xeb\xcc\xfe\xd3=\xff\xddf\xe6A7\xf7\xca\xc8\xff\xc7\x16\xf6\xd8\xa1\xff\xfd\xf0\xff\xd6K\xe4+&\xeb3-\xfe\xf8\xf7\xff\xee\xa4\xff\xe0t\xff\xec\x97\xf8\xe0\xde\xe70*\xf2\x92t\xff\xcf2\xff\xe9\x8c\xef\xc5\xc2\xbc+ \xff\xde\'\xf4\x9e\x81\xff\x82z\xff\xcb%\xf5\xc2\x8b\xfbVO\xfe\xfd\xa8\xf9\xb4\x99\xeaj&\xf7\xbd\xba\xb3\'\x1e\xfb`X\xfd\xd3\x13\xf6WO\xfe\xe7e\xf1\xd4\xd1\xe6\x98!\xfd\xf2\xf0\xf5\xdb\xd9\xf9\xd6\xd4\xdd82\xf6\xa9\x90\xecp,\xba*\x00\xdb@&\xef\x7fj\xfa9\n\xf2\xb6\xb2c\x05\x02\xdbH.\xa8"\x19\xff\xdf5\xf7\xcf\x9b\xdf\x895\xfdpi\xee\xbe\xbb\xf1\xb7\x89\xf0\xae{\xf6\xc8\x94\xf0\x9d(\xf0\xaa\xa6\xf8\xca\x16\xf8\xadG\xe8\xa2\x9e\xe2\xad\xa9\xdf\x9c\x98\xe0U9\xedWN\xe6\xb6\xb2\xfe\xe6R|\x10\x0c\xdc\x8a\x85\xf7\xb1\xad\xe4w\x03\xdbO*\xfa\x98A\xef\x81\x00\xe8\x8b[\xe2`C\xfew1\xfc\x86:\xe0\x8e\x1f\xc3:\x00\xe2%\x1f\xe4kN\xea\x97e\xf4\xc0\x16\xf0j[\xe6\x93\x8f\xe7NF\xd2R\x00\xee\xa4p\xd7\\\x02\xec\x9fZ\xdfi\x01\xcaF\x00\xf5\xc9:\xeb\xa69\xe8v\\\xf8\xd2f\xee\xb86\xef\xb5\x16\xf4\xc7Y\x97\x1b\x15\xe6\xc0\xbc\xd8}x\xd9\x83\x1d\xd6/*\x00\xae\xff\xe9\xa9\x15\xf5\xbcL\xe7\x80L\xe6\xb7R\xf9\xc0-\xfa\xd2%\xd0ib\xc0B7\xc7UM\xcfs \x00\xb2\xff{\xa96\xc3\x00\x00\x00KtRNS\x00\n\x146\x1f)CL\xfd\xfe\x811\re\xfe\xb4\xf9\xd4h\x14\\\xfe\xfe\xfe\xd0\x1f\x8c\xe6\xfe\x8ep\xbf`ME4\x9e1B\x1f\x9e\xbe\xa8\x7fO\xdd\xe1n\xfe\xd3\xca\xbf\xcc\xbfu\xbe\x9e\xbc\xcc\xe0\xd7\xc8\x8c\xfe\xdcz\xa5\x99\xb7>v\xd3\xac\xf7\xeb\xbe1\x8e\xc6\x00\x01\x14\x9fIDATx\xda\xec\x9cAn\xd3@\x14\x86\x9de\xd4\xca\x12\x8a\xba\xa8\x04$\x08\xd2.\xe2&\xb2\x02\x11\x08\xc5\x8b\x9e\x81\x1bp\x00\xd6=\x80%\xd6\xb57\xbd\x81\xef\x11\xb5\xfbH\xb9\x04\x8a\xd4e\xd6<\xfbM\xfc\xd7\xf3lg\x92\xa68\r\xf3\xcdd2\xf8\xbd\x19\x17\xfc\xf51P\x8ac\xb1X,\x16\xcb\x8b\xf2n\xac1q$\x93\xb1\xe4T\xcb\xf98\x96|p,\x96\x97a|\xabq]&\xee\xad\xe4\xa3Q\x8e\xc5\x02\xf6.\xee/z\xfdT\x93w\x8e\xe4\x03\x87~\xd2\xc83b"7RI\xfc\xfaE\xdd\x11\\\x0eKHW\x0f\xf7\xc3\xf8\xda~\xb2\xfc\x1f\xa0\xe2\x92jU\x15\xf72\xcfA\xe6X\xcb\x19\xde\xea \x05|D\x14\xe0\xc3\xd8\x07\xe3K\xc7r\xfc\xd4\x1c\x15\xea\xad\x1cn6r\xd2\x80\xb8\xc4\xd0\x16\xdd\xff\x00a\xcc\xb2K\x0cD\x96\xa4K\xb4j\x8f\xb8\xdf\xbb)\xbd\x17\x16\xd7\x9e\xad\xffK\xa4\xb8m\xb7\xed~2\xf8\x93\xd7\x03%^\xd4\xa9\x1d\xbb\xedt\xaf\x8b\x7f/\xee\xd0\xb1\x1c;\xc2\x98\xc7v\x1b\xe2\xd6\xf9\xb6\xa4\xc4A\xdda""mi\xaf\x8d\x1b\xc5WWW\xe1\xed^\xb9v,GN*n\x9cuz\xb1\xb8\x84\x12\x17\xe4a\x95M\x84\x94\xd7\xcd\x85\xe4\x00\xe2\xc4*\xd5\x16)\x9c\x878\xb2)/*Y\x8fy\x8c\xb9X\xcf\x1d\xab\xb9u;\x8e\xe5\xa8\x19\xf3\xb3\xc6@\xe2\xbaR\xdc\xb1\n\xab4\x9a\xf0I\x00g\t\x0eP\xcbg7Y\xc5\x1d\x14\xc5\x85[\xdc\xa9)q\xe3\xc2\xfe\x98\xab\x86}\xb1\\\xbfJ]\x89\xee^\x9d8\x96cf\x0c]\xb8\x95W\xdcI\x9eC\xd0\x90\xceo(q\xad\xc7u\xbe\x1eCvP\xe0\x0c\x88\x1b\xaf\x13p_\x88\x0b\xf98\x82\x8f\x0bs\xa2(*\xd6`\xcf\xf4\x93\xe6\xc2\xb1\xbc>Z\x1dSq\xd5\xa3\xa7\x81_\x10W\nG\xc0\x97xE\x89=\x15\x1f\xe6\xe1<~\x97j\xdb>\xd3\xf6\x91y\x99\xb8\xcbxg\xb0\x15\xe6\xf1C\xbb}\xe5lA\xa7\xe5X\x0e\x81 0\x167.\xaa\xab\x89{z\xc9\xb0#\x85q\xe9\xba\xee\'\x8e\x92\x8f0[Aa\xa2{Y\x14W\xe4e\x15\x97\xa0`\xb7\xbd5\xeeMX\xd8j=\x7f\xc0!\xc5\xf4\xd7\xcbr\x00\x8c\x12\xbfe*\xae\x86&\xeed\xf7B\xa8\xf8\xa8\x89+i\xbb\xb9\xb8.:f\xe8Z #\x8a\x05,\xee\x99c\xcc\xf9}2r,\x8d\xe3%I\xe25#.0\x15\xb7\xaa\xe2.*\xab\xec\x93\xd9\xc2m\xbb1!\xc5%\xce\xb7\xf8DO\xee\xed\x99\xb8q\xfa\xf7$n\xb0\xb3\xb8\x8b\x7f,\xee\x1d\xddq\xc1\xe2\xd2\xbb\xbb\xee\xfc\xf6\xf4\x8a\x1a\x08\xcch\x8c\xe2\nq{\xc6\'\\?I\x12\xbf\xefX\x1a\xe5\xdcO\x88\xfb\xdazs\xfaA1\x8c5\x967\xc4g\x8a\xf4sq\xef\xe22\xee\xa8!T\x16\xe7.\xc5E\\\x89\x9b\x9a\x9b\x8a\xbb\xc8\xa1+\xd4\xf1\xae]#0_\x96\x8aKAcq\xbd$\xc5\xb7\x7f\xf7\xdb\x14(\x1f\xc4\xa8\xb6(\xb3x4\xa2e\x1d&N\x94\xb8\x1c\xd4\xbb\xd2V\xae\xc7F\xaa{\x1d\x02\xf7\xcd3\xb0<\x93\xd2\xd9\x99q\xc9\xed\x1fhKsq\x83$#\xb0\xe66\xc9(a\xfcZq3\xf5\xb81\xba\x7fwJ\\\x15P\x96\x110\x97;\xd6\xcb\x96\x0e\xb3\x05q\x81\xfbj\xcbi\xc8J\xaaSK\x7f"\xf9\xa0bSy{\x12\x97\xe8\x99\x1f\xad\x18{\xccm\x94\x91z\x0e\xfdZqsI\x0b3x\x95\x8b\x0b;c\xa4\x16\x8bt!\x07\x9d\x07]\\\x04\xb3FP|\x93\xb8\x93;\xc94\x17W\xed\x83\xfbC\xdc-\n\xaeo\xbdm\x98>\x1f\x16\x82zq\x15\xb1\x9ci\x15\x17\xb1z\xa0\x0f\xd6Hq\xe5*\x1c\x15v\x15\x17\xc62\x10\xd7\xfcl\xe5\x8f\xec\xd7 \x9a\'\x10\x7f\xd8\x10\xe2n\xe4\xbaG\x9c\xc0\x98\xed1\x11w/\x15Wr\x03q\xcd\xceV\xc1\xb9c9\x00.\xd2*\xe2\xed*.\x8a\xd6\xc0\x9b\xa6,\x9f\x81\xdb\x80\xb8[U\\\xdf\x9e\x12\x0e\x88N\x90\xfc\x08\xf6 n\x96\xdd[<\x8fzq\xc3]\xc5\x1d\x10\xbdgW\xdc\xbe=%\x1c\x16\x9e\x9f\xf4k\xc5\rU\xcb;\xde\xc3\x97\x13\x17w\xe1f(.\xd6\xe5\xcb\x96\x0b\xa2K\xe2\xe6W\xf1\xf6\xc7\\\xdc\xc0\x9e\x12\x0e\x8cs?\xa8\x15\x17\xf6@$\xe8\xfbB\xe2j7\xa1f(.\xbc]\x0f\x10\x17WU\xca6\xe2\xda/\x98\x1d\x1e5\xcf\xe4\x948\xa1\x87\xbb\x0c3w`\xed\n\xb6A\xdcY(\xc8\xd4\x00g2\xe3\xacL\\u\x1b\xee<eqOk\x99d\xb9\xbcRT\xdc|\'\xec\xac\xc4\xb5\x1c%,n\xaaN60e\xe2^|W>\xa0\x87\xdf\xbbE\xe8\x92\x96\xf14z\x92\x8bK!$\xf2l\xb1x\x0c7\x82t\xea J\xc5U!\xe4Yq\x8f\x9aL\\<q~\xe6$\xee|\xddX\\\xc2{j\x0f3q\nt\xb2h\x01Q\xefY\\\x91\x07qM\xec\xc5\x87\x01q\x11\xe6\xcbV\xdc\xe3\x86\xc5\x05\xa2\xe2\nq\x81\x14\x970\x14\x17@\xdc]\x80\xb8\x00\xe2\xce\xad\xb8\xaf\x8c\xd1\xa8c.\xee\xa3\x14\x97J\xed1\x88\xbbm\xc5\xed\x8c<\xc7\xd2$A\xe2\x1b\xaa\xdbj\xb5\xa6\xa5\xe2~j)\x9cJq\xff\xcc\x89^\x9d\xb8gs\xe2d\xb3\xb8\xd1\xb3\xc4\xe5\x9f\x82\xfc\xe8\xb6\xac\xb8\x9d\xc0\xb7\xdf\x04\xd10A\x92\x98\xaa\x9b\x95\xab\xa8\xd0Vs\xe2\x93\x96\xe5\x15\xb3\xa8\xb3\xb8\x83\'\xe2"\xc6\xad\\\\\xa4a6\x9f\x93\xb8\xb8\x8a&\xae\x89\x86\xc5\xc553|Z\x99U[?I\xac\xb8M\x01q\xcd\xd5\x9d\xa6\x8f\x99_\xdc+\xc5-\xf4H\x8a\xcb!\xb8[..\x87\xa5{RU-\xb3\xa2\xb3\xb8"\x0f\xbf\x1f\x98jk\xc5m\x1c\x12\xd7\\\xddiD\x0f\x7f\xfd\xc8\xab+.\xcc\xe0.\xc5U1\xe4E\xa5\xe2\xaa,\xe4\xb1{Q(\xd7\xe3\xc7pZ\xbb\xce\xd6\xeby\xd4!\xae\x99\xb6V\xdc\x03\x80\xc45Ww\x1a\xe5:\xf2P!\xae\nC]]\xdc\x08\xbbp\xaf\x10\x17{d\x9d\xc5]E:\x1c\xcaA:\x86\xac\xb3\xb8,1:\x8e\n&g\xdb\xc4\x8a{\x10@\xdc\x1f\x9b\xff\xfd\xc8\x14n\xf0P%nXL\x14\xe2\n\xd9*\xc4\xd5`\xf7\xcef3\xcf\xfb<\xabf\xa5\xaf!\x96Y$\x13\x17\xea2\xa8\xb8\x1b\xab\xed\x8f\xc4\x8a{ \x04\xc9\xbdO\x04A0\xf2\xbc\xbec$.x\xa8\xaa\xb8P\xa6R\\\x10V\x8b\x1b\x8a\xad\xe6)\x8e\xf3m^\xcd,\xdf\x17<\xaa\x18\x89+\xb46\xac\xb8\xad\xbe\xe7\x8d\x82 \xf0\t\xfb_+4M\xa7\xdf\xef\xa0\xcen)ne\xc5\x05\xf5\xe2\x1aW\xdc]\xc4\x05R\\\x00q\xcdi\xd1\xaf\x9a\xfd^\xc9W\x84i\xc5\x15\xcc\x8eK\\\xcb+c\x17qQq\xdf\xef_\xdc\xa5`e\xc5\xb5\x94\x89\xfb;"\xf8\xedw\x8d\xb8\xbf\x8b}\xa6\x89K\xd7\xb4\xa4\xb7\xa5\xe2"\xce/\xeaJ\xdc\x8b\x1e1\x88\x04_\xe8\xf2W\xb5\x06]\x89\xfb\xa6\xd7\xfb\xa2\xb6\xc2\x86V\xdc\xbf\xec\x9cAk\x13A\x1c\xc5\xd5\xab\xbd\xd9K%x(\x08=\x14\x16\xc1\x15\x03\xb6\x07\xbf\x94 z\x91@{\xca9\x1f"\xdf"\xd0{\x8e\xb9\x86e\xd3\xd0\xd0C\x0e\x05o\xfeg\xde\xcc\xbe\xce\xfcgcDE\x99\xcc\x9bq6\x99\xf7\xfe3+\xfbs\\A\xcd_\x17\xe6Y\xdb\xe6\x86\x9by;o5\xb8\x0c\xb8>\x93X\x00.lv{\xe2\xb6\x1a\\\xef\xf3\xdaZp\xa1w2\x13\xb5s7\x1d\xf7\x07\xa9k\x87\xf8\xb5\x87*.:k\x0b\xb8y\xeb\xc2?\xf0\xebk\x8c7\xadH\x81+.\x02\x1e<AC\xf4\x08\\\xd8\xc8\xe0\xd3\xc0$R\'n\x97t\xd7\xd6\xc8\x05>\xfay\xde\xd7\x0b\x99\xae\xe4;:\xeb\xef\xa5\xaa\x03\xf7\x1a.\x9a\xbb\xbb\x02n\xc6\xba\xc0\x03gK\x83\x8b\x08\xe8@>\x05.B>\x95\x04\x97{\x89p\r\xc0\xbd\xbb&\x84\xf0\xef\xcct\xd5\x81\xc9\xeb\x83\x07\x97kZKT\xc0\xcd^5\x88\xa0\xd2\xe0\x123\x9f\xd7\xe0b\x9e\xf8\xa4\xc1\x85\x90\xc3\x05\xe0\xfae\x08>|\xf0\xf9\xed\xd1\x84\xaf\xbb\xef\xc0\xa5@{9q\xf3\xd7\x05I\xc1e\xd3\x0bn@\x8d\x02\x97&\xd4\x0f.\x19\x84\x00.7\xa2\xc5\xc3s\xc6\xdd\x9dx\xe2\xd6\xe1\x92\xe5\xc4=\x08\xd9\xa7\xbe\xc7\x89\xab\xa4\xc1\xa5v\x83Kip\xdf\xa5\x96\x01\xb8\x94\x06\x17*\xe0\x1e\x90\xfe3p\xeb\x84\xbb7\xb8\xfa\xee\x8a\xb2\x95z\xea\xebVt\xf6\xaf\xc0\xbdK\xe3\xd9~\xfbEp\xa7\x05\xdc\xcc\xa5O\xdc\xdd\xe0\x8e\xf6\x07w\xbe\'\xb8#\x82\x9b\xb0\xd7\xd6}\xdb\x85\xcb\x89[\xe4\xc0\x1d\x05\xcd\x9d\xb8G\xe7U\x00\xae\xb7E\xf8\xa0\xc0\x1d\x85\xad\x0f\xdc\x91n\x00\x17\xfb(wa\xdd\xf7\xde\xb8f\x82\xe0\xaa\xaar\xe2f/\x0b.a\x03\xb8\x8b\xb7\x06\x06\x04\x08T\x18\xfc\x16\x81\x0b\x0f\x1dC\xf2U\x01v\x18%\xb8\x1f\x1f/@\xfc\x01.K\xf1\x91\xe0\x8e\xc2\xaa\x02\xee\x01\xa8\xf6,t8\xac\x1f\xf0=\x00\x97><}\xe2z\xbf\xbb\x8e\x92\'n\x90Q\'nM\xcf\xb9\xa3\xb61n\xa5\xf6\x7f\x0c\xae\x9f\xe3\xb5\x80\x9b\xbbjy\xd2a7\x83\x02\xf7\xb1\x03{\x1a\x83\xcb\x15\x90J\x83\x1bf\xb0,\xc15\xdf\xc3\x85n\xac9\xacF\xaa\x8a\xaf\nz\xcd\x02n\xf6\xaaG\x01\xb3x\xf2\x98\x13\x1a+\xa7\x8f\x98\xc3\x0f\xe8f*z_u\x1a\xb9\x08\x13\xeb.\x11\x80\xcb\r\xbc\x1a#\xba\xe2p\xa1YktVa\x02?\x9c\xff gq\x03p\xe1R\x16\xdc\xa6\x80\x9b\xb1\xe4\xa9S\xd7\xc1E\x0e\xda\xd8#S\x14\x13Q\x94:\n\xc0%\xbb\xe8\x04\xb7\xd2K\x0e\xacyL\x87+?\x88\x01p\xe9\xa0\x0b\xb8b\x15p\xf3\xd5\xeb\xean\xd4\xab\xb3\xe1`\xf4\xbb\xd2\xe0j\x11\xdcZ{\xad5O\x14\xd2\x1a\\\xaa\x80\x9b\xb3\x8e^W5\xa9M\xf34Ws\x7f\x17\\\xde\x0f\xe1\x84Y\xc0-\xb2:\xa9\x93\x84\xfd[p_hkm\xbda\x01\xb7(\x02h\x9c"iLpuH\'\xf5l\xe4\xbc2\xc2\xbe:Kp\xcf\xf5J\x8b\x06\x04V\x89\xba\r\xc1\xd5u\x05\xdc<%\x00\x8dm\x93\xee\x1a/\xe64\xdbL\xb7\x16\\\xa6\xc6*\xaa\xca\xb9\x00\x1d\xe9 \xf3)\xf7\x8d\x96\xf0\xe0V>\xcf\xd6Z\xef\x14V\xb8\x19\xc1\xf5k\xd2,\xe0\xe6*\x00$\x92\x91\\Zfo7\xd3\x01xi\xe6\x9c\xe7\x95\xc8\xa2<\xf2\x1fS\x94\x007\xac7\x03\xc1\xadc\xe0\x8d\x85\xd2*\xb1\xff:\x06\x17\xb5v,\xe0f*\x02$\xcd\r\xa0x\xddPs\x99a\x0f/\xac\xd6>>p"\x00\x971\xd7:p\xa3\xe5E\x1bk}\x90\xff\x9dg\x1cxv\x98ypY\xe1C\x05\xdc\\e\x00\xa2HS\x08nkOc\xc8\xd9\xa4\x92\xa2O\x8f\x89\x10\\\xc6"\xdbz,Dbf\xad3\x80\x0b\x8f\x84\x12\\\x88\xe8\x16p\xb3\x15\xc1\x8d)\xfcJn\xc1\xd3s\x19\xb7:\xbahBi\x90[\x9a\x04\x97\xb6\x02\xb7\xd2\xce\xb6q\x00\x12NjJp\x83[+\xe0f,\x02\x14k\xbd4j\x96\xe6\xb7\xe8\xe1\xabS\x01W\xbelun\x81\x8c\xd3r\x07\xb8\x12\x94\xbe\x13\\\xb1q\xaaFB\xfds\xc0\xa9\xef\x80\xe0j\xaf\x80\x9b\xa5\x0c@\xf7\xf5\xa2]n\xc6\x91f\x16\\\xc3\xec3D\x9f\xcb\xd7\x1ep\xa9$\xb84\xcd\xd0\x0f\xae\xcd\xa4\x00\xbcE\xf5\x93>8Eg;\xbc\x02n~:\xb9<\x7fa\x91\xd4\xe0\x02\x07\xaa\x17\\Q\x83\xde\x0bn\xe3\xed\xdd\xe0\x9a\xcc\x93#m|\xb6\x85\xc3\x1ep\xe7\x05\xdc\x03\x95\x03\xf7\n\x1dC\x1f\xb8H\xb0\x01\r\xaa\xe1:~h\xe9\x12\xdc\xae\x9e+\xba\x13\xf75\xa6h\x00?\xf07\x1e\x87\xfbw\xeb\xbf\xb4\xe0\xa2\x84\xc5\x05\xdc\xac\xe5\xc1\xb5\xcd\r1\xb8\xd0\xb98\xcc\xa4\xce\xb4\x17\xe3\x98\\\x80\x15\xff}\\\xc4BF\x01n\x15\xc0g#@\xffTV\x87A[\xfa\x95\xa7\xba\xe6r.PN\xdc\xbce\xc1\xbd\xba"\xb8\xe6c\x1a\\\xa4\xa4#-R\xe0\x9ai\xfa\x92M\x82\xdb\xf9\xec\x0e\xdc\x1a\xdca\xca\x11m\xf5\xcc\x96\x19+(\xddt\xe0v\x1e\xeb\x0b\xb89\x0b\xe0:Rp\xed;q\xc3\x8ci1\xb8@\x8b4\xf6\x82\xeb\x01\xe3\x07\x80{\x0f\x8b\xf5\x0e\xcd\x0fRVu\xfb\xb3\xfa\xabu\x8f\r\xb80X_^\x15\xf2\xd6\xc9\xcb\xe3g\xf2\xd4C`\xfa\xc0%\x1d\x90\x06\x17\x1e\xc74\xb8\xf0\x11\x81\x00\xae[\x80\xf5\xb8\x15\xdc\xcb%\xf7\xe7\r\xf8\xf7\x88\x1aFP?(\xe0f.\x80K\xf5\x81Kf\x80\x88\x06\x97B2\r.\x13\xf6Bp\xcf\xa3z\xd1v\x89=\xfc\xa1\x1a&\xe6\xd6=Q?\x85\xf2\xaap\x10\xda\x17\\%\r.\xb5\x13\\\xad\xe5J\xda\xa5\x9eo\x96\xcb\x15Vx\x139t\xd5O\xc13\xbf*\xe0f-\xf5\xd4\xa7B\xd1>\xe0\x0eV\xa2\xdd\xe0\xcaJ\xab\xdd\xe0N\xec\xb82\x94i\xfcne^\xdaS\xf9\xd7\x1a\x91\x03w%\xee\x87\x1ep\x07\xb2u\x017g%\xc0]\xed\x05\xee\xe2\xa7\xe06\x12H\x82Kl!\x93[\xde\xaa\xfa\xcf+\xa3\x0f\xd8^if\xdd\xb3\xbe\x13\xd7\x98\x05\xdc\x8cU\x0b?A\x9b\x82\x87P\x95O\xb1m#pu\xa2\x11\x1c5\xb8\xc6\x8a\x92&\xd7\xe8\xfa\x85\x99_\xbd\x94\xaaKm^\xcdW\xfe\x06\xea\x84;(\xe0f\xae\xda>\xe7\t\xdb"\t\xeeD\x017\x8f\xc0U\xecL\x92\'n\xb0\x86\xc8|7\xb9\xad\xaeo-\x9a\xc7\xf6\x15W\xed?Y\x1a\xaaW\xa7\x1d\xb8Au9q\xb3W=\xc1C\xf7\x17\xbc\x02\xbcT\xe0\x02\x0c\xdf\xa5)pap\xb5^p\x11a\xce\x82;E%\xbbA\xd3\xe8\x04E\xf1\xfe_Wp\xddO!\x0c\x14p\xf3\xd7\x9b\t\x01\xb2J\x83K\xdfg[\x05n\x98\xe8\x05\x97\x9b\x811\x80\xfbi\x12\xeb;\xd0\xc4/\x1b\xb5\xff\xdc\xb9\x00\x97r\xc1\x02n\xee\xba\x8d\x9ez\x1a\xdcK\x98\x94\x06\x97 B\xbd\xe0j\x99\xdcD\xd5\x7f\xb1d\x0eA\xa6\xda\x7f\xd9\xfd\xd9\x0c6#\x05\xdc\x83\x90\xa2h\x9b\x06W\xa9Q\xe0R\xbf\x0en3I\xdd\x08\xee\xe4(Q\xe2\xde\x14N\x01\xae\xd6\xbc\x80\x9b\xb9\xf4#O\x81[\xf7`y\xfc\xa7\xc0\xdd&\xcb\x81f5I\x9b\xa2\xa7\xf1\xcd\x95\x13\xf7@\xa4yk\xf7\x04w\xf9G\xc1\xfd\xc1\x9e\x19\xeb6\rEa\xd8\x0eT\x0c\xc0B:\x80%@\xb2\x84\x00\xc9R\x95H\x0c,y-\x84\x04O\xe0\x17@b\xf0\xc6\xc4\xe6\'\xc9\xc8\x19\x18\xa2(faAb\xe8\x828\xd7\xe7\xde\x9c\xf8\x1e\xd7\xa9hI$\xe7\xffl\xc7\xa9\xcf\xef\xeb\xb4\xferr\xdb~\xe8=\xcaL\xdc4\xdc\xf0\xbe\xf1\xf3\x08t\xdc\x13\x85}\xab\xfc"\xabN\x01\x14\xe7\x8e\x86\xfc"\xfd0\x1aH\x97\xab\xc5\xd5\xab\xf9\xf1\xdcP\x97\x9f\xe2\xf3\xdf\x85\x7f?\x14\xa6T\xb5\xef.\n\xef\x9b7\xa6\x8e\x8e;z^\xa8\xb1\xde\xca\x15+an\xf9\x0f\xef\xa2*\xf7\x8eS\xd4\x15W\n\x9aZs\xc0\x8a\xab\xc2\x86\x9d\x13W\xbe\x92Mv_\xdb\x0b\xbc\xdaz\xd9R\xc9\xc3{Ws\xedX\xc4\r\xa7\xe9\x86\x8e;v\n\xe9y\xbc\xf1\xda*\xc3\xde\x9a[>\xf5\x8e\x05\xd7\x98\x8fMW\xcbi;\x88\xe6\\\xef\xa6\xab:\xaeC\xdf\x03,\xee\xa6\xd2c\xbe\xfe\x8b\xe4\x85\xbc\xd0\xe3\xdb\xfd\xa6i\xcd\x9d\xfby\x8c\x9c*\x9b?\x7f\xd9\x10A\xdc\x11s\xe1\xb5\x10+\x1c\xad\x13\xe7\x91njF\x90\xfc+q\x8c:\xe2\xca\xf9\x9a\\\x11\x91\x11W\x8a\xed\xb2\x85\xe8[eX\x93#O\x16\xb6\xf4\xce\r\xec\x8aA\xdc\xf0\xfa\xf5\xf5-\x89\x81\xb8\xe3\xa5\xab\xc5\xa7 En\xf5V!}Ct<\xd9\x15W\xfc\xd1\xd4\x8a\x98X\\\x1dB]#Z\xad\xd7EQ\xbc]\xef\xd0\xb4r\xa6\xc9\x8b\xa2\xe5\x8f)q\xc3\xd5\x8e\x1b\x86\r\xea\xfe\xe2:\xc4\x1d1\xb3*\xe2#9\xee\x18\xbdE\x0be\xd3\xf6\xbc\xa4+\xae2 \xae\x85H\x86j(f\x9exr\xb2\xe4*\xae\x01\x1dw\xe4T1_\xc9q\xd7\x88\xdbk\xe5\xfcV\xc5\x9d\x10\x13\xe4\x95\xa7Y\xe2\x99\x87c\xb2v.>\x83\xb8\'\xc7\x93*F\xa6\x00\x13\xd3\x97#.\xe9\xd6\xc5\xb5]U\xd5\xbbO\x96\xf3\x04\x1d\xf7d)\xaa\x98\x8dX\xc4\x0cJ\xf9\x9b\x1c\xd9~q\xcf\xae/nF\x06\x99\xb2\xf4\x96\xe6\t:\xee\xe9\xc2s\x80\xb2\n\x1b/v\n zk]\x9erc\x8e\xcc\x98\xba\xc3J9 n\xe9/(\xab\x8a{\x96\x1b\x12On\x99\xa8\xb8~\xa0\x12\xe2\x9e\x0c31R\xa5\xfbN=\xe2.$\xb3co\xb9\xd2Oka\x1a\xaa!S^%niVr\xdc\xf4\x9b\xe8\\\xbf\xda@\xdc1#\xb6\xed\xde\xf6h\n \xbc\xd9uBvD\x91\x95S\xe3m\xbf\xb8R\xd3\x1cS\xde\\\\\xb5V\x16\x88;n.J\xbe\xc9\x8c>\xc4S\x00qR\x8a\x9ak\xfd\xae\x89vC\xa5wFS\xbd\xe2\x96\x1a\x08\xe1\x1b\x8b\xeb\x87\xd3\xebC\xdc\x91\xb3(\xe5v\xeb\xc3\xba\x15\xf2\xbc\x93*BQ\x83\x1b\x97\xa2yW\\!\x84\xae\x10W\xe5\xd2\xd1~:f\xffL\x18K\x90\xa7\x10w\xd4Te\xc4w\xf6\x96\x97\xb3XoA\xd5\x90\x86\xfb\xac\xaf\xe3jh\xc5!+\xae\x14uw\x0b\xd8\x8e\xeb\xc4\xad!\xeeX)\xca\x98oT\xdb\x8f\xed\xcb]?$&~\xe7]q5"4\xbd\x1dW\x88;\xa4\x95\xd0PE\xcak\xc6\xa4\xd1q\xc7\xcd\xa2\x8cY\xd5\x8e\xb9q\xcd\xc6\x9c\xe1iG\\C\xc3CYq\x0f\xc3\xa6f \xee8\xb1\xae\xfdl\x85\xac\xb3=z\xfft)\xf1{X\\\x0e\x1dO\\\x82\xb8#\xc5\x1a\xb9\xack\'[n\x8c\xb41\xce\x9d\xef\x15\x97A\xc7\x05\xb7L\xfa\xdd\xfejV\x93S\xd2\xeamcL\nq\xc1\x11\xb8\xe8\xed\xa4L6\xac\xb7\xc6 .8\x02\xb3\x9eN\xdargHo\x8d\xe5\x10\x17\x1c\x81\xe9BXnY\xd7=\x7fS\xb8\x90\xd4s\x8d\xad4f\x86[\xeeB*\xae\x89\xfdo\x9a\x9ay\x94\x80\xd1\x92\xd5\x11\xbd}jR\x1b\xb2\xfd1\x11\xd7rV\xff\x7f \xee\xb8I\xbf\xd41\xe9\x90\xde\xca\x04\xe2\x82\xe3\xf1\xe8Z\x9d4\xfd\xdc\x13\x83\xb8\xe0x\xccm\xc3\xbd\x96\xde_R\x88\x0b\x8e\xc7\xdd,\xe6^o_\x1e\x8c)if\xe8\x9dQd\x87\xe1N\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x03\xf2 `\x8f\r\xb3oH\xb7\xd7\xb1\xf6\x93\x1c\x88\xe8\x927yyZ\x04\x87\xe6\xe5\xd3\xc7\xc2\xeb\x87\xdb\x1f\xff\xc3\xd7\x8f\xf7\xf3\x97}\xb3\xe9Q\x1a\x08\xe3x9\x1a\xdazh\x96\xb4!H+\xb5\x95"z\x90\x18\x12cb6\xde\xf6\x13\xac\xc9\x9a2\\d\x13\xe4B\xf0\xe5\xda\x84\xd3\xf2\x1d\xfc\x00\x9e=y\xb2\t_\xc0O\xb11\xd9#g\xa7<3\xf3\xf4\x05J\x8b\x89\xbb1\xfd\x15\xd6\xa5\x19\x86\x81\xfe\xe7\xff\xbc\xe0\xb6\xdc}\xc2P\xf4\x08O\xa1X\xf0\xa0\x08^\xa7\x94\xfa\\\x8e\\R\xb6V\xf2-t\xba\xc7/\xcf\xe2\xcf\xf5,\xa9\xe2_!\x03\x9d\xee\nh*\xdc=\xe4\x96\xbf:\x88\xbfW\xb8lF_\xd7\x9b\xba"\xb7V\xc5\xf0=\xb7\xcc\xe2\x15\x8fQ\\3\xb8:|\xc7t\x93\x92U!\xf4\xacp]\xcf\xe7k\xef\xc8\x94;\x17[\xfeK\\\xa5\xb5\xc5k\xfa\x8c.\x9c\xa0\xfa\xf5\xfc\x02({-\xdcgP\xedvp\xae|V\xddN\xa9\xd5\xebB\xf0J\xb9\xed\xdaj\xfa\x9c\x96\x1c=\xf6\x8b\xe1\xb9\xd9\xcd\x13\xfb\xe8JaU\xd2=\x9e\x8e\xbeOA\xae\xdb]\x1d\x16Zs\x9f\xd3Y:\x8eQ\xa8\xa1\xfb\xb9\xe0\xd0\x92\xab\xe7K\xdc\xb7\x8e\xbc\xd5\x01\xdd\x0el\xb3b\xb4\xdc\x9c\xa9\x90\xa2sU\x94\x07?\xf6\xd5\xf6\xa0\xac\xd8m\xb5\xf5!P\x05\x9c\xd8s\xf8\x18:3\xf1\x13\x9e\x0b.u\xe8\xea\xae\xd0\xfd\xca\xad\xbe\x19\x93_\tP\xa7\x90(H\x9d\x02\x11\x01G#\xf8\xcc\xf2\x10E\xaa8\x1a\x8cs\xab\xf4\x15\xb2\x9a \xe4<P0\xd9\xf8\xc9\xd1-M\xc3\x87;\xe4\x8ft-\xc3\xa8\x95Iq\x9b\x18\xc2K\xbfk\xa0\xfb\xc4\xd0j\x10x\n\xd0Tj\xe9\x9c\xc3?\x16\xbd*\xe5\xfe\x02%&\x9c\xb8N\xa9p\x15}I\t\x88\xcf\t\x96\x0c<G\xe6Ccw\xed\x83\xc6\xf2|h\x9b\xad\xa6x\x0eY\xa6\x08|\xce\xe8]\xa8\xb6\x9d2\xc6)&\xf5\x1eI\x05\xc8\xaeny\x13\x86\xb6!E\x9b\xb4\x08\xc1\xc0I7\'\xfcc\xa1\xc1\xaa\xa2<\xf9\x86\xb1\xa2v\xe0\x0e\xd7\x94I\xc0O\x8d&k\xc6\xef\xd8\xb9\xa1v`\xda\xc5:\xec\x9b\xeeP<g\xb1Y\xc7\xf9\xb8\x99\x8bm0\xff\xa8\xaa=\xa3\x84p=!\xdc\x89Y\xe6M\xe3\xc6\x9b~V\xfbf\x8dZp\x10\x87\xe0\xb6\x0b\x12|B\xe1\xe2\x168\x0e\xe2U\xc2-E\xa1\x0f~5\x1bj5[U\xd5\xcf(\xabO\x1fU\xc6f$\x1c\xe8\xc6\xcc\xa9}\xc0\xd2T\xb5mh\xf6\r\xe1\x12S\x93\xac\x17\xfc\x15\xc6\x9bh\xe8Q\x95%\xb91\x8f\xaa\xccfk\xbaUjt\xa6\xd3M\x8c\x1b\xb1$2\xbb\xd9\xc4Y\xdbF*\x93/\x01\x81;\xd9\x1e>y\xf5L\x93*\x8e\xaf\xcd\x88\x9f\x86\x10\xe2\x7f\xa2bkSY\xdd\x041\x05r~\x13q\xf2\xa5\xb3\xbb2KX\x9a#9\xed\tN\x83$v\x06\xf9Mu\xeb\x1cQ\x9b\xe1:\xb2\xe4\xafn\xf9\x9bm\x15\xc3N\xac\xe9\x8a\x88\xe5\x87j\x82\x9e\x96\xca\xb1II\xd0\xec\xcf{\x95p\x8f\xa6s:\x9dD\xcc|\xc6\x18\x1eO\x1a=\xadN\x85\xbb\x9e\xc5\x15\xc8\xf8<%b8\n&]3\xa1\x8b\xd2\x0bd\xbe\x9c\xe3\t$\xbe3\x08u\xf4\xb0W;N\xb8\xb3\x81S\xae\xa2\x03\xe6\x90(HR\xf4^\x91\xf5\x98\x1bd\xf0.)\xdc\xd0L7\xc1\xdfL/\'\x85\xa1C\xafF\xe0\xba~\xd00\xa5\x8a\xa31\xe1\xc2L}\xc6T\\!\xcd\xec\xab\xea\x84\xf8Y\xc1}\x9c\xfb\x9c\xabA=\xb77\x1cD\x96F\x87\xf4\xd6\x9f08\'\x13\x05\x9fq\xb1\x81\xa1\xc5\x91\x15\x12\xaf\x11\xcbgG\x17\rU\x85\xd8\xef\xf4\xd5\x18\x8d\x00t\x1b\xa9KM\xf0\xcdI,@\x06\xab.\x04\xce\r\xca=\x1c$\x0c\xa9b/=\x16\x1bQh\x005"\xc7n\x0f\xce\x84\x02\'\xa1\xdao\x03\x83\x05\xdapZ0\xc9f>a\x96V3\xc5L\x8b\xebv\x1ca\xde\xa3\xe8\x05\xcc\xcc\\V\x0eJ\x97\x08\xb7>\xb5\xf6\xd0qwt" \xcb\x1c]\x8a&\x86\x99\x14\x97\xc8D\x97k5A?%\xb6\x1a\xdd\xdd\xa5\x08\'\x01\xe8\xf6p\x90xx\xbfR\xee^4;\xe9{c\x9e\x81R\xef\xabi\x8f<\xec\rD\n\xd4\x00\x8c\xb5\xc1\xbb\x9e\x96\xd7$]n\x98\xa5\xe1s\xe6\xb6\xa1\t\x0c\x1c\xbbXC\x02\x99\xfef6\x8f\xad\x04\xe1\xb6w\x8cne\xd3\x0b\x02j\xa7/\xd9g/i\xb6\xe3L\x08/\xa6\xce\xae\xfb\xed8\xe0\xcf\x88\xd3V\xe3\x9c\x1c<\xc2)\xd9\xd6\x10\xe4`\x90x\xf8\xfa\xfbC\xa9\x02\xd9\xf5\xc1o\xc6<\x90o\xb8p\r&Atb\xdb\xc8t\x93\x96;\xf2\xb4\x8e\'J\xe8\xd1TX\x9a"\x9a\n\xbd\xf4X\xb0\xb6\x06VfE\xabvx&\xdc\x8avK]\x8f\xf0\xca>h`\x13\xc3\xa8\xc7x\xe2\x11>5m\x7f\xd5\xe3\xa4\xbe\x1ey4\x08\x8b\xc2T}\xbd`s\x8f.\x87\xda\x01\xdd~\x7f,U\xec\x15n\xf4\x99\x86\xe7\x01oy\xad\xd5p{\xd8ZB6W\x9f\xd5\xf6\x13y\x8b\xab\xe8\xa0K\xac\xcd\xb2\xb5\x0fx\xe1L\xb8\xa8\xdcb\'\x97\xe7f-\xd9P\x85\xb1\xf3/a\xf8\xcc\xa5\xd3\xa7\xf2Q\xe2\xe7 "z\xce(ON\xaf\x0e\x1c\x8f\xbed67\xc1W%E\xd4\xe5\x9e.\x8ary\xdd\xdf\xb2^\xfa\xd0[\x08\xce\xcdC\xba\xfd\xfe\xba&U\xec\xc6p\xcc\x88\xe7\xdc\xb5\xe6m\x13pP\x82\xac\x8a\xe9)\x1e\xa0\xc3\xc9\xed\xb5o\xd7w5IE\xdd,\xca-\xd9c\'\xc7\x03\'1\x96\xfb\xdfx>\x7f\xeaQ,9U\xe6\x91b\xc7>|/3!\x1b\x7f\xb1VOlmO\x8f\x10\xc6\xecJ\x85R\xb3\x15d\xd5}fn9\r`n\xa8\xcd\xf2tKy_\x97*\xf2\x90Et\xbf\xec\xa5\xcao\x10h\x14\xf2_\xe8\xe9\x18\xed\x8f\x1b\xb6\x91\xa9\xccx\x98EK\x83\xb9@\xee\x8bA=\x11\xb6\xb9r\x19M+\x9d\x90\x92\x82\x87\x9f\xb9\xc3\xe4-9\xb5:8\xa2j\xf3dO\xd7\x98wg\xb7\xf1A\xca\x17.)\x88\'\x8bF\x08\xcc}\x01\xc2\xcd\xd1-\xe5\x81t\x8bh\xce]5|\xd9R\x18:\x17\xd0\xe2T\x01:4\x8es\xd5D!\xbf\xff\xcc\x13\xea\xc2@\x1af\x0cIi\xf2\xa9\x12\xe5\x96\x05NGh\xff\xccH\xb6\xef\xc1\xda\x98=6Qf<3.|\x10\x9c,vo\x9e\xd6\x13\xab\x13\xfe|\xd6\x08\xaf\x87\x1d\x8a,\xa5a\xea\xceS\x17\xee+R\xe4\x06o\x0cv\x0e\x83\xee\xe0<\xdd\x02\xf7\xa5[\xa3\xe6\xb4\xef\xf5\xee\xa8r\x85a`\x8dC\x18\xba\x05q\x10\x9a\x99\xe7\xaaj\xbf`\x8a\x8cF\xc3\x11\xfcXC\xf7>\x86\xdbE\xf9,\x1a\x8d\x97/\xa2\x86\x94,\x14\xe3\x93K\xbb\x96\x8a\xc8p\xc0\x8fn\'\xd5T\x80\x15\xe5\xe7\x06>\x0e\x80\x1fx\xa7\xd2\x1b8\x89Z\x8f\xf0\xf9.~\xfc\xd8\xe6&\x8a\x9c\x8d?b\xe6Enc\x19v\x1e\x9b1\xff\x97\xa6"\x82\x0c0\xfa94\xf2t\x0b\xbc5\xa4\xdb\x00dK\xb1\xef\xa6rc}+\xee\rX\x8b\xbb-a\x18W\xd7\xd4p\xbbB\x1f\xa8\xdbt[3\xee\xd2\x84\x90 \x08\xa2~\x94"s\x05R\xde\xf5j\x98(\xa0Q2_R\xd2y\xc7\xd9l6\xfb0\xcb\xb08\x1b\xc5\xd4\x1a\xb0A\x1f\xf0\x1f\xf1\xe0\'\x18\x1b\xae.\x95\x0f\xef\xfaS\x1c\x14\xee\x95\x9d\xa7\x1c\xb7\xd5$\x05\xd1_h\xbc\xee\x03 {\xce\xd1\xedm\xe6\n\xb5\xba}\x0f\xb0\xef\xe2\xb7\xd2p\x1d\x01\xac\xcfYI\xd3AU\xd3\x1a\xebdHU\x16\x87\x04\xcb\xe9\xf5\x89\xe8&\xa1\x89\xc6L\x90\xc0H\xcf\x8dL\x8c\xc9\x1e\x93F\xac\xef\xf1\x16\xfd\xdf\xd8\xc4\n\x9f\x0c\xc2\xf0\xd7\xae\xe3|\x89+\x0f\xbe\xfe\n\xd9\xb0\xec\xe8\xd0\xd6\xb2\xabC3L\xe5&B\\\xc0\xe8k^m\x86\n\xc7\xa8\x80\xbf$Y0\x7f\xb5\xb8\xd4\xa1\xbb\x92\xa3\xdb[\xcc\x15\x8c^\xff\x1e\xa7}\x07\xbf\x04\xf9\xc3\xdd\xd9\xec(\rEq\x1c\xdciA\xd3\x14\x06\t0\x14\x07A\xa7\x83.$\xc2\xf8\x91\x18\xb7<\xc1\x98`,;M\xc4\x1dq\xab7a\xc5C\xb0\xe8\xd2\x15kL\x06L\xe6\x05\x88\x89\x0bgEx\x06\xb6\x9e\xcb\xb9\xf7\x1e\xe8\xad\xed\xa8\xe8\x10\xff\x85\t\xad\xfd\xb8\xd0\xdf\xfd\xdfsN\x0b\x82a\xa8\x10\xc1o\xa7\x85\x83\xc3\\\x8e\xf5Wz\xfb%\r\x99\x19\x9f%\xf5^\x9f}I\xa7\xd3\x8e\x15P$%\x0f\xc5\xa0CF\x10 \xc8\xcd*\n\x0f\xd8#WG\xa9]/\x167Og\xa5\x98\x0e\xd4\xd9\x80\xba\x07{\xf3%\x1d\xa2r\\\xe3\x8c\xa4\xddZH|#]\xa1\xe0\x12\xe1\xf4\xd1\xc0+\x12s\xe5\n\xe3\x06\xee()\x97P!1\x80[\xd2\xb3+\xb1\x7f-\xcb\xe6\xd8\xee2\xb9\x1c3\x9f\xe5\xa9\x10\xb6\x00\xd7Z\x1f>\xde[\xe9\xcb\xf5O\xceA\xa9\xf4\x1cgQ+l\xe9\x8a\x81~\xb3\x94t\x1f\xf1\xcd\x98\x9bb\xf6\xbd\x1a\xb9\xf9\x01\xea{\xa0w\xea\xe0o\xb4<\xdf\xae\x05s\xdb#\xf4\xd8t\x96\x0e\x93\xa3\xb7\x8et3\x19\x18A\xa9\x9e4\xb7\xe3a\xe0\xca\x15\xd9p\xb1\xd8\x0b\x98NZ\x1d\xa1\xa1\xe8?*7k\xd5\x8d\x10n\xc9q\xff=\xb8\xf6\xd5M\x15w\xae&\x87ER\x82v\xcd\'\xd9\xf3\xa3R\xe1\xa9\xbc\xa5\xe9\xcd\xdb\xc3B\x81\xcf\x92\x86\xc37\xd3\xe9\x9b\xe7\x96o\x87\x84\xad\xb2\xb4j\\\x16\x15\xb8\xde6i\x13\xcb\xa9q\x08\xd5\xc9\xed\x9d\xa5k\xbe<\xd6\x0e\xe6\xf6}\x874\x0e\xe7\xb6f\xeb\xfeHzpT\xa1\x9a\x0fe\x84R\xef\x80\xae\x10\xd1\xb8\xbf\xc8\x07j&;\x98+B{**\x0c\x1a\x81N\x16\x7f\xb4\xc9\xed%\xd8\x9dU\xf6\x91[\xab\xfcn\xa8\x1c\xdfznG\xc5\x1c\x1d5\x1c\xc8\xa0\xfa\x15%\xac\x91\x92\x12\xfc\x07D qz\xd7\xa7u\xda\xcf\x1d\xa7\x12O(\x13;qh\xfd\n\xe7v6P\xd6y\x02\xe3z\xd6\xf7\x19j \xe2&\xa4\xf6\xc9\x0c\xf51\x90[\xb4pj]\xaf\xd7e\xb4q\xaf^,\xdb\x1a\xb8\xf4\xce\xdf\x07\xd3\xa5\xf6\xc8\xa4}\xce\x82\xc1\xddk\x91u\xfb\x8b\nN\xf0\xae\xef\xacs{\xe7r\x92z\xbb\x16An4\xb0\xd9\xdb\x95\xa3\xfb\xcd\x06v\xfcm\xeb\xe0\xc1`,\xd4\x97\xec\xb6p\xfee\xe3(\xa2\xb6\x8e\xe1\xabv\'Wsqv\xc6\x07\x7f\xe54\x1f\xc1\xf3\xe2\x89\x02\x13\xf3k\xe0\x1a+*O\x98\xf2\xa0\x99\xb0GR\xd6.\xeb\xaa\xdf\xeb\xac\x83\x0b\xefa0\x18\xdc\x1b<m\x94\x83\xa4\xf8H\x1c\xf0\xd6-\x16\x93\x96\xda\xb6\xbf\x97\xce\xeb\x03a\x95\x9cy\\\xb6Bs\x04&\x01\xff\x18\x0c\xee\xa4\xafzH\x85\\?4zN]>\xb7`)~r\xed\x0b\x02kY\xd9\xdb\x00l\xb3\xfe\xf81\xda\t\x84\xf6\xdb\x14\r\xd5\xa8/\x83W\x124\xb1\x04\xca\xb6\x9dH\xf9\xbf\xe1\x9b\xc0\x98t\x8f\x91\xa5\xcdx\x02G&\xd6\xaf\xdbt\xf44h\xd1S\x04\x02E\xfe\xe2S\xdc\xd2u\xb0>\x14\xb8\xf0pe\xb8j\x05)N\xad\x8b\xdb\xb5|>\xbd\xd7\'.?\xe6\xb1\x10\xed\x0fx\xa8\xa8\x10\x0f\xcd\x11\\\x19f\x07\x83\x9b\x1e\xba\xb2S\xd6\r\x15\\\xb8\x1d7$z\xbeB1\xee\xb5\xd8\xa5\xc9(^\xdd\x94\xd6Z\xedD!\xb0\xf5\xc7g\x80+<\xa5\x9a\xb1\xed+\xab\x06\xe2\x8f\xef\x89\x1e\t\xae\x1b\r\xeeaU{\xbf\x9b#y\x1b-\r\x8b\n\xe8<G\t\xa1J\xb9\x08\x9a*H\xa6\xb0j\xe5B_\xec%\xb5\x06}_7\n\x93q\x8ca\xa7T{\x91\xc7\xae\xa2\xe7f.<\xc2JV\xc2>]\xc4\xb0?\xa9\x99\xa6Y\x14\x0fRq\xd0\x11\x9c\x0e\x85u\'\x19\xccqu\xd1\x82Cb\x85\x17\x97z\xb97\xfbK\xe4\xda\xdcb\xcfV\xe2\xd0n\xb0\x0bN\xb5\xfd\xc6Ip\x17-\xe9\x90\x8bt:\xcf\'\x07\xf8\x88\x06\xd7\xf2[8\xdf\xf6\xb5B\x9e\r\xd1\xd2\x94\x89\xb9\xe3\xfa\xc3\xa4P\xe1\xe1\x91a\x90\xaf\xb7\x80"\xcd\xdf"j\xfe\xad\xf9F\xb8[HD\r0\x00\xee\x90\xf1v`\xeb\xd2yS\xc7\x87\xc7\xe3\x82\xdcwu;<G\xc0=\x01\xb8\xceQ\x90\x1e\xca\x15\xdc\x89\x88\x90\n\x88zX\xf4\x9c\x12u\xb0T\xecR\x15w|\xe4\x86\x9d\x9c\xcac\t-2\x0b\x0f\xa5\xc7\xb7c\xdb\x96\xa1jM{m\x15g\xe6\xf3\x1c\xbe\xdaZn\xe6\xb2\r\x91\x13\xb3\xa7\xbenX)bB"\xd5\x85\xbd\x81\xd5P\xfa\xed\x0e\x9btg8\\Q\xab\x1eR\xc5\x14\x02\x05\xe3\xa2\xdc\xa2!\xb6&\xf9\xfc\xa2-f1\xe4\x0eS\xc5\xcc\xe3\xfa\x08\x0f\x7f\xaf#\xc7\xd2\xc1E\xb8\xe0A\xb5;Md\x9f|b\xad\xbb\x81\xba\x89G\x82\x15\xe6\x8e\xdc7n\x11\x12=g\x9f\xed\x02\xb7zY\xach\xc5B\xc9\x9d\xd1\xb4\xa9\xfa\xd6*#t\xb4\xe1x:\x9d\x8eO>\xaa$B\x06k\xc5\xfbT[\x1f\x9c\xec\xadi>fT\xe5\xdc\xec\x85\x16O\xa5\x1a\xf7:\x04c\x1eG\x7fUT`\x13\xa7t\x93\xc6\xf6\x12,\xa7\x1e\x83\xe1f4\xb7\xee\x1a\xb7\xf9\xcfS\xa6\xc8u\xb5\xd0%\xb0u\xb82\x06\n\x08\xa6VTpq\x1a\xeb\xa9\x85N8\x9f~&WL\xedzJ\x05\x17.(\xf4\x92\xdc\r\xce\xed.|\xf7a\xad\xb8P+GDqG\x8f\xcf\x08Z\x1f\xbb\xcdm\xe7\x98\xc6\xf3\x15\x83\xaf\xee5\x9f\xba2\xe9/:+\xd9\xc4\x17\x9b\x04g\xcaz\x9cf\x19\x86Q)\xa8\x81\x96r\x1fUT`s\x9b\x9fn\xa1\xdc\xdd\x9br\xdd\xfeD\x0b7\x83\x7fq\xb7\xe3R\x00\xfa9\x0fZti\x91\xf6\xc3^A\xad\x93.9\xfd\x9c7\xed\xa0\xceqW\xe18-G\xe6f\xae\x7f\n|\xc8\xa2B\xe9.\xccaT\xfc\xf3\x917\x05\xdc\xeeF\xcd_\xa6h5\x07\xdb\x13A\xae\x08\x12\x88\xda\xbf\x15\xe6V\x91\xa1\\R\x15\x80\xdc\xf1\xf3$\xa8T\xc5\xc1]/\xaes\x8b\xa3\xcb\x98u# aQ\x96\xd6\xc2\xdc\x87N1\xec\x0bN\xe0\x01\x81A^\tNoV.\xc2\xad\xda\xb6\x7f\xca\xb9\x1dAGb\n\x1f\xf7\xf0 \xea\x92\x8b\xda\xbe\xbb\xc8{N\xf6\xe7\xebp\xc2N\x9d\x88\xdc\x8c\xabC\xcf\xe0\x07\xf7\xd7\x86!.&\xbb\xb8M+$z\xce>{\xb4\x1b\xdc\xf2\xf4\x9d\xc7\x08v\xf6B\xfe,\xe2[M\xdff\xb3Jl{\xa2\xba\xcf\xcd\xd2\xda]%\\<?O\x8a3\xac\x15\xd7\xbf\xf5\xc8\x90\xf4\x91\xb4J\x86\xcbN\xf3\x00\xa3<\x90\xbbZ\x0c\xce\x93\xbd\x8d\xae\xb7aV\xab\xcc\xcc\x8a\xe6\x966b\xc3\xcf^\xde;.\x9b\xf9\xe5@-\xc4[f\xc2{\xaa \x87\x9d\x8e<\xd1:=7C\x1e\xf1\xaaA(\xb8>\x9f\x05\xe9\xafA\xeds\xf9\xfd%&(\xa7\xc1*@\xfb\xbbsw@\xbcL7\x8fD\xe9\xfe, 5\xfb\x06\x13$h\xdb{G\x94\x15\x03\xb8%I\x84*s\x89\x01\x9d\xff\xe9n\xd6(g-Af`\x953\x99\xa3\x00\x91r\x9f\x03\xb9t\xda\xb0m\xa7y\x0f\xab\xaf4\xb1\x13`\xd0\x88\xe6\x96\x1c\x8eM\x97\x9e\xe7\x1dW\xb2eo4\xef\xa3\xe1\x81\xe0\xbdDE\x1a\xb2uK\xcft\xac\xc0\x95\xfa\xae\x10t\xb3\xf0\x8f\xcf\xdd\x14"L\xaf\xe5\x8b\xfe\xe9r\x7f\xf5\xcb\xef\xa5\xbb\xf2\x1f\xc7\x8d\xdd\x81skr4\xc7\xfd\x86\x7f\xbf\xcd\x1a\xdb\x0bs)e\xca\x15\x84\x07\xcaR\r+@\xba\xef\xca$h\xfc\xd9\\\xd7\xa2-\x19\x87TY7!\x05#\xcf}$\x8c\xa5\x9c\xd8\xe2\xd41\x9c\xd1h\xd1\xc2=\xab\xe9\x03P\x14\xd5\xb1\xc5YG\xf2\x90[3\x15\x87R\x81\xf7y\xc8\x17\tT\n\xd5(\x8bD\xc7[x^9\x1b\xec\xcaLb7h\x84\x17\x15Ts\xc8x\x03^\xb3\xf6\xe9\xd2K\xad\xbem\x82\xdcrMw\xf4\x0e\xed?%W\xd37\x8e-<\x9d\xed\x86\xb8\x18\xcd\xdd;DG\x94g!\x97\xa4\xda:\x8c\xc9\xe5\xca\xba\x9e\xab\x90\x12\xaf\x82\xe9I\xbf0\xd7\xcf#\xd3\xae&\x128B\xa2\x1f\xf6\'v\xacr\xec\x8dN\x99\x0c\n\xd1\x91\xe6#\xa4(L\xc8\xad\xa8.\x8d\x81[d\xddr<\xefk\xd7\x95\n\xcb\xcf\x12\x85\x9cr\xc3\xe1rd\xf2K!\x81)\x17\x8a\x8f\x0f\xd9\xf0\xa2\x82\x10\xeb\x87\xa8==\x87\xa0\xe4\x16\xb4?G\x0e\xcd&\xbb\xfa\xa5\x98?SS:.\xc5\t\x1c[\xf8\xbb\xc50\x97b4\x96\x93\x05I\x11)\x96b\x14<@\xfe\x9bXS\xe9&_\x18<\x92\xc2V\x04d\x17\xbf\x19\x03\x0eH&\xd6?O\xc5\xe2\xb6\xe7-\xbb\xb8\x0e\xd9\xa7\x99\x8an,Iq\x0b2\xa0#L\x18\x8d\xcd\xc1\xd7\xcf(3Bu\xa7S\xde\xbadU?\x10\xad5\t\xb5E"\xbcw\x1e\xa2\xafK/\x9396\xc0%\xd6\xd4=\xdf\xff/\xc1\x8d77\xb0\x85\'N\x80\xee\xd2\xd8f\x88\xeb\xcb\x87\xc5l\xab\x99M\xa2;p\xc7\xed=(\xacI\xc6\x99\x1dL\x95\xfd\xa7\x92D\xd7aq9\xe6\xd2\xb7\x04i}y0P\x0b\x86m\xc7\x8a\xe0\xf6P\xd9-p\xfbu\xc5-n\x12\xb7Mo9f\xae\x14\xe4ga\xa0Q\xf30\x0b\r\x89\\\xd9|\xffB]\x89\x9df\xa2tM|\xa0j\x0b\xf3\xf2\xaf/\xfc\x15Y\x1b\xe4\xcai\x85n\xc3\xdaZ\x88\xab\x021\xf5@x\xdf7\x8c\x82?\xd7\xd0\xd5^\x94\xb3\xfe\x98YRM\x1b\x1eV\xd7'... (set the log level to DEBUG or TRACE to see the full content)
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.659" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/recycle-user-center/file-uploading/upload/image
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:57 GMT', 'Content-Type': 'application/json;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive'}
|
|
body={"code":0,"message":"successful","data":"https://qncloudtest.oss-cn-shenzhen.aliyuncs.com/common/26273851785097969.png"}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.660" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.566" endtime="20220819 14:08:57.660"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()}</arg>
|
|
<arg>data</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${Image}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.661" level="INFO">${Image} = https://qncloudtest.oss-cn-shenzhen.aliyuncs.com/common/26273851785097969.png</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.660" endtime="20220819 14:08:57.661"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${Image}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.661" level="INFO">${Image} = https://qncloudtest.oss-cn-shenzhen.aliyuncs.com/common/26273851785097969.png</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.661" endtime="20220819 14:08:57.661"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>open('./common_26091119022578881.jpg','rb')</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutFile}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.662" level="INFO">${OutFile} = <_io.BufferedReader name='./common_26091119022578881.jpg'></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.662" endtime="20220819 14:08:57.662"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>open('./common_26091119022578881.jpg','rb')</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutImage}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.662" level="INFO">${OutImage} = <_io.BufferedReader name='./common_26091119022578881.jpg'></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.662" endtime="20220819 14:08:57.662"></status>
|
|
</kw>
|
|
<kw name="Create Dictionary" library="BuiltIn">
|
|
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
|
|
<arguments>
|
|
<arg>file=${OutFile}</arg>
|
|
<arg>image=${OutImage}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${File}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.663" level="INFO">${File} = {'file': <_io.BufferedReader name='./common_26091119022578881.jpg'>, 'image': <_io.BufferedReader name='./common_26091119022578881.jpg'>}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.663" endtime="20220819 14:08:57.663"></status>
|
|
</kw>
|
|
<kw name="Create Dictionary" library="BuiltIn">
|
|
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
|
|
<arguments>
|
|
<arg>type=image</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${type}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.664" level="INFO">${type} = {'type': 'image'}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.663" endtime="20220819 14:08:57.664"></status>
|
|
</kw>
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>order</arg>
|
|
<arg>${ztbClient}</arg>
|
|
<arg>${Header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.664" level="INFO">Creating Session using : alias=order, url=https://api-client-ztb-test.qniao.cn, headers={'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.664" endtime="20220819 14:08:57.664"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>order</arg>
|
|
<arg>recycle-user-center/file-uploading/upload/image</arg>
|
|
<arg>data=${type}</arg>
|
|
<arg>files=${File}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.786" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/recycle-user-center/file-uploading/upload/image
|
|
path_url=/recycle-user-center/file-uploading/upload/image
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '143263', 'Content-Type': 'multipart/form-data; boundary=5b5c85bcb2916a40395c794a0ae06a53'}
|
|
body=b'--5b5c85bcb2916a40395c794a0ae06a53\r\nContent-Disposition: form-data; name="type"\r\n\r\nimage\r\n--5b5c85bcb2916a40395c794a0ae06a53\r\nContent-Disposition: form-data; name="file"; filename="common_26091119022578881.jpg"\r\n\r\n\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\r\t\n\x0b\n\x08\r\x0b\n\x0b\x0e\x0e\r\x0f\x13 \x15\x13\x12\x12\x13\'\x1c\x1e\x17 .)10.)-,3:J>36F7,-@WAFLNRSR2>ZaZP`JQRO\xff\xdb\x00C\x01\x0e\x0e\x0e\x13\x11\x13&\x15\x15&O5-5OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO\xff\xc0\x00\x11\x08\x048\x07\x80\x03\x01"\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x00\x1f\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\xff\xc4\x00\xb5\x10\x00\x02\x01\x03\x03\x02\x04\x03\x05\x05\x04\x04\x00\x00\x01}\x01\x02\x03\x00\x04\x11\x05\x12!1A\x06\x13Qa\x07"q\x142\x81\x91\xa1\x08#B\xb1\xc1\x15R\xd1\xf0$3br\x82\t\n\x16\x17\x18\x19\x1a%&\'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xff\xc4\x00\x1f\x01\x00\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\xff\xc4\x00\xb5\x11\x00\x02\x01\x02\x04\x04\x03\x04\x07\x05\x04\x04\x00\x01\x02w\x00\x01\x02\x03\x11\x04\x05!1\x06\x12AQ\x07aq\x13"2\x81\x08\x14B\x91\xa1\xb1\xc1\t#3R\xf0\x15br\xd1\n\x16$4\xe1%\xf1\x17\x18\x19\x1a&\'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xd9\xa5\xa4\xa7Rd\x89\x8e(\xc5-\x14\x00\x94\xa2\x8aP(`\xc2\x8a(\xa0\x05\xa3\x14Q@\x00\xa5\xc5\x14P\x01\x8aZ(\xa0\x02\x8a(\xa0\x02\x8cQK\x8a\x00J^\xd4b\x96\x81\x89E\x14\xb4\x00\x94\x94\xb4\x9d\xa9\x00\xdaJv)(\x00\xc5%(\xa0\xd0\x02\xd2\xd2b\x8cS\x00\xc5-\x14P0\xa2\x8a(\xb0\x82\x8au%\x17\x18\xb4Q\x8a(\x10QI\x8aZ\x061\xc5U\x99*\xe1\x19\xa8\xa4L\x8a@e\xcc\x95RD\xad9\xa3\xaaR\xa63LE&\x14\x80T\xae\xb4\xdd\xb5B#"\xa1\x91j\xd6*9\x12\x80+\x81\x8a\x9e&\xa8\xc8\xc5*\x9c\x1a\x00\xb4)E1\x0ei\xf4\x00\xb4QE\x00!\xa4\xa5\xa2\x80\x1aj7Z\x9b\x14\xd2\xb4\x86Ve\xcf\x14\xc2\xa5W\x0b\xc1=j\xcb%4\x8fjb"D\x8dye\xdc}\xe9\xfb\x1aC\x9d\xbc~\x94m\xe6\x9e8\xa0\x0648\xa8$\x1bj\xeaa\x8e*}\x1fD\xfe\xdc\xb8,\xd2\xb8\xb4\x89\xbe\xea\x9c\x07?\xd6\x9a\x0b\x19\x02\x9d\xd2\xbbK\xbf\x08E"~\xe4\xba\x9fc\x8a\xc3\xbb\xf0\xc5\xfd\xb1$a\xd0z\xd5\xc5&&dn\xa4)\xb8\xd4\xc6\x12\xacU\x90\xab\x0e\x08\xa7,~\x82\xa6J\xc3D)\x10\x1d\xaad\x8e\xa4X\xeaU@*\x18\xd0\xc5LT\x8a\x94\xa1i\xc0R\xb8\r\xdbK\x8av)q@\r\xc5(\x14\xb4R\x00\xa4\xa2\x93\x14\x00\x1aJSILb\x1ai\xa7\x9aa\xa2\xc2c\x1a\x98\xd4\xf3Ljb#jcT\x8dQ\xb50#jkS\xd8S\r\x16\x18\xdaJS\xd2\x9bR\x01\x8aJu%;\x80\x94\xb4\x94P\x01E\x14S\x10QE\x02\x80\n(\xa5\xa0\x05\xa2\x9bK@\x0bFi){P\x01KIK@\x05\x14\xb4P\x01Gj(\xa0\x034~TQ@\x05.i(\xa1\x03\x16\x96\x9b\x9aZV\x01h\xa2\x92\x80\x16\x96\x934f\x98\x0b\x9a\x05%\x14\x81\x0e\xa2\x92\x81\xd6\x80\x15~\xefZ\x18\x80\x08\xee\xc4v\xa4\xcfj3\xdb\xa5\x01q\xdfCIH)h\x01sJ)(\x14\xc08\xec1@\xa2\x81@\x0b\x9ap>\xf4\xca\x01\xa0.I\x9aZnx\xe0d\xfb\xd1\xda\x98\x0e\xcd(4\xd1K\x9aA`\xeaNI \xd2\xfe\x00\xd3i\xc3\x9cr?\x1aw\x10q\xefK\x9ao\xb5\x19\xa4\x03\xb3Fi\xb4P1\xd9\xa34\xda(\x01\xe3\xe6\x1c\x9cb\x8c\xd3G\xd7\x00\xd1\x9aaa\xd9\xe4\x92\xdc\x9a3I\x9aL\xd0\x16\x1ch\xa4\xcd\x19\xa0,\x194RQ@\nO\x14f\x92\x8a\x00\\\xe7\xa9\xa4\x06\x90\xd0(\x01sFM%\x19\xa4\x01\x9a)(\xa0\x034\x1aJ(\x01\xa6\x9a\xd4\xe3IC\x01\x9d\xe9)\xc6\x92\x81\t\x8a8\x1d~\xb4\xb4\x94\xc4 \x1d\xcb\xb3\x13\xf3dpG\xb5(\xc1\x19\xc1\x141T\x19l\x81\x8e\xa2\x8c\x85\xdd\xf2\x86\xce0[\x9cR\xb0\xc3>\xc7\xf1\xa4\xa5\x07\x80\t\xce)\r0\xb0Pi(\xa0AI\x8aSE\x08\x06\xe2\x90\xff\x00\x93KF\x01\x18\xa6 \x1b\x81\xe1\xb6\xd3I\xc8\xe4:\xe0\xf7\xa0\xf0x\xce>\xb4\x81~b\xdb\x8f#\x1c\x9c\xd0\x0c\\\x93\x9a:\xf1\xebE%$\x802\t\'oC\x8aB\xca\xa4}\xec\x8eN\x07\x14\x1f\x95H\xe4\x92r\x00\x1fv\x978\xa6$"\xed\\\xe7\x80y&\x9b\xc9\xcf\xa9\x1c\xfb\xd2\xd1\xd3\x9e\xd4\x00\x806P*\x95\xc0#w\xd6\x94\xe4.Y\x86irq\x8aN\x9e\x94\x0e\xc2\x0e\xa7\x93A \x1c\xb7\xe0\x0fz3\xc6{z\xd2u\x18\xc0?Z@\x0cK\x13\xb8\xe0\x9e\xf46T\xe0.\xde0\x0e1\x9aC\xbb\xe6\x19\xceF:t\xa6\x94A\x19\x0c\x18\x9e\x02\x80h\x06\x05\x97\',7\x00\x01\xe7\x8a\t\x01\xbeb\x1b<\xe4z\xd0\xceO\xc9,\xb8\xder\x06\xce@\x1e\xf4\xd6gv\x00\xe5I\xfe/Jd\xdcV\xc2\xb1\xf4\xec}i\xac{\xf7\xce)F7\x80}:\xd3Ws\x0c\x91\xcf\xa5\x03\x14\x1cRR\xd2v4\x8a\xb0u\xa0\xf4\xe3\xad\'l\x8a\x061\x968\xa0b\xf09\xc78\xa4\xa3\x1f\xed\x13IH\x04\xe2\x8e\xf4\xb4r\x15\x8fpx\xa613\xdcv\xa4\xcb+e3\xeaH\xedJ\xd8\xdd\xbb\x00\x0e1\x8a1\x8e\x0e\x07\xae8\xcd BeK\x12\x18\xb1<\xf3M,\x17\xe6 \x1cS\xb0\x06i\x08$`\x10(\x18\xb2.\xcd\xbf3|\xbf/\xcd\xd1\x8f\xf3\xa8\x97\xe5V\xfe\x15o\xe1n\xad\x9a\x99\xce\xf6\xf3K`\xff\x00\n\xb2\xe3\x14\xc2\xf9+\xbc\xeev\xf9K\xed\xc7\xf9\x14\xee\x16\x10t\x07\xb1\xa2\x8e;\x0c\n\r \nJ^\xd4\x94\x00\x02h\xa4\xa5\xa0aIK\x9e)(\x00\xa4\xe9K\xdb\xad\x14\x00Rpx4P(\x10\x1c\xe0\xe0\xe0\xd03\x8c\x93Fy\xa2\x98\xc2\x8a\x0fJ\x05\x00%\x1d\xa8"\x8a@\x02\x8ei)sL\x02\x8c\xd2P)\x00QE%0\xb8\xb4RQ\x9a@\x130\xc1\xde\xa1\x8a\xf6\xefN\xf9\x91\x94:\xcb\x1c\xcd\xf7\xc3q\x93\xeb\x8a\x1b\xcc\n\x13\x00\xc8\x87\x96#\x90;\x0c\xfd)]\x8c\xad\xbaYpT\xe7\xd4\xa8\xa7r\xaez~)GJ)j\x19\x98\x94QK@\x05-%\x14\x00\xb4R\xd1@\x05\x14\xb4P\x01E\x14P\x01\x8a)h\xa0\x02\x8a(\xa0aKE\x14\x00QE\x14\x00QKE\x006\x83\xd2\x8a\r\x006\x90\xd2\xd2\xd0\x02\nZ(\xa0\x02\x8a(\xa0,-\x14Q@\xc4\xa2\x96\x8a\x00(\xa3\x14P\x02\xd1Gj(\xb0\x0bF))\xd4\x00\x98\xa60\xc8\xa9)1H\n\x93&EQ\x9e:\xd5t\xcdU\x9a,\xe6\x98\x8c\xa7J\x89\x97\x15vX\xf0j\xb3\xad0"\x02\x82\xb4\xfcR\xe2\x80*\xc8\x95\x1e*\xdb&j\x16LS\x10\x91\x9a\x98t\xa8\x00\xc1\xa9P\xf1@\x12QIJ\x05\x00\x18\x14S\xb1@\x14\x80LR\xed\xa7\x05\xa7\x01L\x08\xb6SZ*\xb1\x8a]\x94\x01S\xcb\xa3e[\xf2\xc54\xc4=(\x02\x93\xc4\xf3\xcd\x15\x9c\x19\xf3n8$\x7f\n\xf75\xe8\xba\x1e\x9c\xb6\x16\x91\xc3\x1a\x05D\\\n\xe3\xac$[\x19\xfc\xef,9\xc6>\x95\xd9i\xba\xc5\xa5\xd4j\xa2M\xad\xe8\xd4\r\x1au\r\xcb(\x88\xe4g\xda\xa5\x04\x11\x90A\x15\x89\xaf\xde\x9b;v`~g\xe1j.3\x99\xd6\xe4\x86K\xc3\x141\x80S\x97a\xeb\xcf\x15\x9a\x13\x9e\x958S\xf33\x9d\xce\xe7,}M.*\xefrH\xd5)B\xd3\xf1EH\xc4\x02\x97\x14\xb4P!(\xa2\x8a\x00))i(\x18QA\xa2\x80\x1bIJi(\x18S\rIL4\t\x91\x9akS\xcd5\xa9\xdcDmLn\x95#Tf\x81\x91\xb50\xd3\xda\x9aE1\x0c4\xd3O"\x9bSa\x8d\xa2\x83E\x17\x00\xa4\xa5\xa4\xa6\x01E\x14P \xa2\x8a)\x80QE\x14\x00Q\x9a(\xa0\x05\xa2\x8a(\x10\xb4\x99\xa4\xa7\n\x06\x14f\x92\x8a\x00ZZm(\xa0\x05\xa5\xa6\xe7\x9a(\x01\xc2\x92\x81E \x14w\xa5\x1d)(\x14\xc0Z)(\xa4\x02\xd1E\x14\x00\xbf\x85%\x14P\x02\xd1E\x14\x00\xa2\x81\xd6\x92\x8a@\x19\xe6\x8c\xd1IL\x07\x8e\x94\nm\x02\x84\x03\xa8\xa4&\x96\x98\x0b@\xa6\xf3KHc\x85(4\x82\x8ab\x1d\x9a3IE\x009N\xdc\xf1\x9c\x8a\x06)(\xa0\x05\xa4\xcd\x14P\x02\xd0\r\x14`P\x01\x9a(\xc5\x1d\xa8\x01s@\xe9IE\x00(\xe9E%-\x00\x1d\xe8\xa2\x8a`\x14R\xd2P\x01IE- \xb0RR\xd2\n\x00ZJ(\x14\x00RR\xd1\xde\x80\x12\x92\x96\x8a\x064\x8aJu4\xd0!\xb4\x94\xe3M\xeb\xdb\xa7\x14\x08\x0ei)O\x14\x94\x0e\xc1\x9a8\xee2(\xa4\xe4P \xa2\x8a(\x06\x1e\xd4\x94\xb4S\x10\x94\x98<\xd2\xd2f\x80\x12\x8e\xf4\xb4\x94\xc4%\x02\x8c\xe2\x92\x81\x85\x19\xedA\xa3#\x14\x08C\xed\xd6\x93\xf0\xa54\x9c\xd2\x04\x14\x9e\xd4\xb4f\x8b\x8cCI@4\x03E\x80\x0f\xdd"\x93\x03\xbd\x00\xf3\xcd\x00\xe7\xaap\x0fz\x04\'n\x05\x01\x88m\xdb\x86\x01\xe8Fi\x07\x19\\\xf7\xa0\x91\xef\xf9P $\x97V,N\xdc\xe0\x1e\x94\xdc\x0c\xd3\x8e1\x9aa\xc6\xe3\x83N\xc0\x07\x00\xe3==i8$\xf7\xf44\x01\x8c\x9e\xb9\xeb\x9aQ\xf7r\xbe\xbf\xe7\x14\x00\x84|\xa7\xe9HpG\xa6h\xc9=?\x1a2\x0f=\xb0\x08\xa4R\x13<\xe3\x14va\xedE\x18\xa4U\x80\x9c\x0c\x13\xda\x90\xd2\x9e\x99\xa6\x83\xdb<P\x08(\xcf\x1c\x0cQ\xde\x93\'\x03=\x85\x00\x00\x90h\xcf\x18\xe4\xe3\xb5\x14\x87\xa6)\x8cRFx\xa0u\xfc(\x14\x9d\x0f\x1dE \x10\x01\xfd\xdcQ\xc5\x06\x81\x8cP\x01\x9ao\xbd-\x04\x8cP0\xa4\xa2\x8f\xa5\x00\x06\x8aJ(\xb8\x85\xa4\xa5\xedI@\xc2\x90\xd2\x8e\xb4\x1a\x00N(\xcd\x14P\x01\xcezR\x02ii;\xd0\x01F}h\xef@\xa0\x04\xa2\x83@\xa6\x01E\x14R\x00\xa0t\xa4\xa5\xa0\x03\x9aJZ(\x012}1E\x1e\xb4{\xd3\x10\xa2\x8e\x0b\xee9\xcf\xb1\xa4\xa5\xa2\xc3=J\x8a)j. \xa0R\xd1@\x82\x94\n\x00\xa5\xa0\x02\x8cQE\x00\x14QK@\t\x8aZ(\xc5\x00\x14QE\x00\x14QK@\xc4\xa5\xc5\x14P\x01E\x14\xb4\x00QE\x14\x00\x86\x90\xd2\xd2\x1a\x00J(\xa2\x80\n(\xa2\x80\nZ(\x14\x00\x94\xb4Q@\xc2\x8aZJ\x00Z1E\x14\x00\xa2\x8a(\xa0\x02\x8a)h\x00\xa2\x8a(\x01\x0fJ\x86D\xcdOH\xcb\x9a@g\xcd\x16j\x9c\xb1\xe0\xd6\xb4\x91\xe6\xaa\xcb\x154\x06i\\Rb\xacI\x16\rFV\x98\x88\xf6\xd3\x1d*p\xb4\x15\xcd0)\x14\xa0qVZ?J\x89\xa3\xc5\x01`SN\x14\xccb\x9c\xad@\x89(\x14\x83\x9ap\xa9\x18\xb4\xe1M\x14\xe1T\x02\x81OQM\x14\xf1@\x85\x02\x97\x14\nQ\xd6\x90\xc6\xed\x14\x9b0w)*}T\xe2\xa5\xa4\xc5+\x81=\xbe\xa7}\x07K\x8d\xe3\xd0\x8f\xfe\xbdV\xbe\xb9\x9a\xf6e\x92c\xf7G\x03\xb0>\xb4\xa4SH\xa0\x08H\xa3\x14\xf2)(\x01\xb8\xa3\x14\xb4P\x0ci\xa2\x8a(\x01))h\xa1\x80RPh\xa0\x04\xa2\x8aJ@\x06\x92\x94\xd1LaLju5\xa8\x10\xd3L4\xf3LjhC\x1a\x98EHi\x8d@\x1150\xd4\x8dLj`0\xd2R\x9aJLhi\xefE\x1d\xe9*@J(\xc5\x15HA\xda\x92\x94\xd2S\x0b\x0bIKI@\x05\x14Q@\x82\x96\x8aJ\x06-\x14Q@\x05\x14Q@\x0bE%\x14\x00\xec\x8aJJ:P\x03\xa9(\xa2\x80\x1c:Q\x9fzm/\x14\x03\x16\x81IE\x02\x16\x8aJZ\x06-(4\x94b\x80\n3F(\xa4\x17\x16\x8a1K\x8a`&(\xa5\xdb\xefK\x8a\x00AE;m\x1bh\x01(\x02\x94\n\\{P\x03qF)\xc0R\x80(\x01\x05&)\xfbi1@\x08)\xc2\x80)@\xa1\x0c(\xc5.)h\x10\xd0(\xc1\xa7b\x8a\x00LQ\x8aZJ\x001E-\x14\xc0LQE\x03\xa7Z@-\x14RP\x01F\x07\xe3E\x1c\xd0\x02\xd1IK@!x\xc5%\x14\x94\x00\xb4g\x8aL\xd1\xcd\x00\x14Q\x9a3\x9a\x00\x01\xe6\x8c\xd2Q@\xc5\xa4\xa2\x8a\x04\x1d\xe93E\x14\x00\x86\x90\xd1E\x00!\xa6\xe7\xebN9\xa6\xd0\x02Ph\xcfZ(\x00\xa4\xa2\x92\x81\x0bIE&i\x88ZNh&\x934 \x0c\xd2\xd2PsLAI\x9a))\x088\xa2\x8c\x8aCL\x05\xc5 \xef@\x14\x1c\nC\xb0\x8dG\xe2(\x14\xa7\x9e\xc6\x81\x89Hy\xe3\xda\x96\x90\xf7\xa0\x04#\xbd \xc8\xa4\xce>^O\x19\xa4\xda\xa5Hl\xb6}\x0e1A"\xf3\x92O\xad\x19\xa0\x93\x9ez\x1f\xd2\x81\xd0\x9ac\x10\xe7<c\x14\x87\x91\x9a3\x9f\xa5\x19\xc7\x02\x81\x01\x1dq\xf9SG\xeb\xde\x82q\xd6\x83\xd0\x8d\xbd{\xd2\x01?\x84\xd1\xce3\xc8\x06\x83\xf2\xf0i\t\xe8\t\xa0i\x0b\x82\x14\x90FI\xedM\x04\xe3\x9eh\x14t\xa0\xa0c\x85\xce)\t\xa5\xa6\xe4R\x18\xb8<\x03\xd0\xf7\xa4#\x14g\xa5\x1dG\x07\x07\xd6\x81\x89KA\xc0\xc8\x07\x8aCL\x04\xc9\x04c\x91\xde\x96\x90\xd2sH\x05\xa4\xefE\x14\x00g\xaei;Ph\xa0\x00p9\xa4\xefE\x1c\xd00\xa2\x90\xd0\x00\xa0\x05\xa4\xa3\xbfLQ\x91@\x06}\xe8\xa3\xad\x14\x00f\x8f\xa7\x03\xd2\x8f\xa7ZBp=\xe8\x00\xefI\x9a^\xd4\x94\x00QKFh\x01(\xa5\xa0\xd0\x02P))q@\x08h\xe4g4q\x9aNs\x8cq@\x0bFx\xa2\x8a\x00JZJZ\x00)\x07\xbfJZJ\x00S\xd4\xd1IK@\x1e\xa7KIKRHR\xd1E\x00-\x14Q\x8a\x00)i)h\x00\xa2\x8a(\x00\xa5\xa2\x8a\x00J)h\xa0\x02\x8a)h\x18QE\x14\x00QKE\x00%-\x18\xa2\x80\x1bHi\xc6\x9ah\x01(\xa5\xa4\xa0\x03\x14QE\x03\nZ(\xa0\x02\x8a)h\x00\xa2\x8a(\x00\xa2\x8aZ\x00)qIK@\x06(\xa5\xa2\x80\n(\xa2\x80\n)h\xa0\x062\xe6\xa1\x92<\xd5\x9aiZ\x00\xa1,UU\xe2\xc5j\xb2\x03\xda\xa1xE\x17\x037a\x14\xa2:\xb8`\xa0C\x8e\xd5@T\xf2\xa9\x8f\x05h\x88\x87\xa5#B=(\x0b\x19/\t\x15\x19LV\x94\xb1\n\xac\xf1\xd0+\x15\xc7\x14\xf0hd\xa4\x02\x95\x80\x91ii\x80\xd3\x94\xd3\x10\xf1N\x14\xd0i\xc2\x90\xc7\x8a\x07Z\x05-\x03\x16\x90\xd1Hi\n\xc0M4\x9aSL&\x80\x10\xd3i\xc6\x92\x90\tI\x9aZJ`\x14\x94\xb4\x94\x00\x94QE\x00\x14\x94\xb4\x94\x00\x99\xa2\x8a(\x01\xb4QE\x03\ni\xa7R\x1a\x040\xd3H\xa7\x1ai\xa6&4\xd4f\xa4jcS\x026\xa6\x11R\x11L4\x01\x19\xa6\x9ay\xa6\x9aL\x06\x1aJV\xa6\xd2\x1d\x85\xa4\xa5\xa4\xa6\x02Rd\xd3\xa9\xbd\xa9\x89\x8bI\xdf\x19\xa2\x8cP!h\xa2\x8a\x06\x14Rb\x97\x14\x00Q\x9a1K\x8a\x02\xc1Fh\xdb@\x14\x00QJ\x05.\xda\x00m-;e(L\xd0\x16\x19F*M\x94\xbb;b\x8b\x8e\xc3\x00\xa3m</\x1d)\xc1:\xd0+\x11b\x97\x15 Niv\xfa\n\x00\x88/\xa5(Z\x97i\x03\x02\x8d\x94\x80\x8fm(Z\x93m.\xda`G\xb6\x80\xb5&\xda\x02\x8f\xc6\x80\x19\xb7\x9a]\xb4\xfcRP\x03vR\x85\xa7\x8aJ\x00f)v\xd3\xb1A\xa0\x04\xc5&)\xd4\x94\x00b\x97\x02\x90\xd2\xf6\xa0bQE&h\x15\x85\xa5\x14\x99\xa4\xce;\xe0R\x01\xe2\x8e)\x01\x04R\xd3\x00\xa2\x8aO\xc2\x80\n(\xa34\x00\xb4\x94\x99\xc5\x14\x00\xa2\x8e\xf4g\xde\x92\x80\x16\x83\xedI\x9a)\x0c?\x1aZJJb\x174\xb4\x99\xa4$b\x81\x8e\xcd\x19\x14\xdc\xd1\x9a\x04-\x19\xa4\xcd%+\x8cZ_\xa574Qp\x174f\x8aJ.+\x0b\x9a)3Fi\x80f\x8aN\xf4f\x80\x0c\xf5\xa4\xcd\x06\x9b\xde\x80\nJ(\xa0\x02\x92\x96\x92\x81\x05&qE!\xa6&\xc0\xd1IE\x02A\xc6i)E%\x03\x17\xa5&i(\x1e\xe3\x14\x08(\xa0\xd2~<P\x08ZL\xd1\xb8}(\x18\xf5\xa0bf\x8e\xc3\x9c\xd2u4\xbf\x88\xa4\x01I\x9c\xd2w\xe8h\'\x14\x0cSH=3HN\x06wb\x90\x0e\xe6\x99 }\xfe\xf7zL\xd2\x1e\xbct\xa2\x8b\x00\xa4\x8csH\x0f\x14\x84\xf0\xc4\x92\x00\x1c\n20pi\x882(>\xd4\xd2\xbd\x1b#\x8e\xc6\x8c\xe0\xf1H\x05\'\x83\x93\x9ex\xf6\xa6\x9aRz\xfaQ\xdb\xad\x03@s\xf2\xe7\'\xa9\xa48!\x8e\r\x19=\xe8\xe7\xa7j\n\xb0\x9fA\xd2\x8c\xfb\xd2\x13\xe9\xc5 \xc5 \x17\xb0\xf6\xa4\xc5\x0c\xd8\xda\xbf\xde4\x9f\xc2E\x03\x14}E\x06\x9b\xce9\x1c\xfa\xd0~\xf7\x1d(\x18\xb4\x87\xa9\xa0\xd1\x8a\x008\xa3\xda\x83\xc57\xb1\xf5\xa0\x02\x8c\x9fZN\xb4P\x01IKI\xda\x81\x8bHh\xa2\x80\x13\xb5\x02\x8a9\xa0\x02\x96\x92\x81@\x01\xe2\x81E \xe0P\x02\xd1\x91E&(\x01\x0fZQIE\x00-\x1cR\x1aJ\x00Z^\xd4\xda\\\xd0\x01K\x9e)\xb4\xbd\xa8\x00\xefI@\xa2\x80\x17\xf1\xa4\xa2\x8ac\nQI\xde\x8aB\x16\x8aJ(\x00\xa5>\x9e\x9f\xad%\x14\xc0\xf5ZQ\xde\x8a\x07z\x82E\xa2\x8a(\x00\xa2\x96\x93\x14\x00b\x8aZ(\x00\xa5\xa4\xa5\xa0\x02\x8a)h\x01(\xa5\xa2\x81\xd8JQE-\x00%\x18\xa5\xa2\x80\n)h\xa0\x02\x90\xd2\xd2P\x03M\x14\xa6\x92\x80\x12\x92\x96\x8a\x00J(\xa3\x14\x0cZZJZ\x00(\xa2\x8a\x00(\xa2\x96\x80\x00(\xa2\x8a\x00QE\x14\xb4\x00QE-\x00\x14QE\x00\x14QE\x00-\x14Q@\t\x8ai\\\xd3\xe8\xa0\x08\xbc\xbaO.\xa5\xa3\x14\\\x086\nk\x0cT\xe5i\xa5i\x81NU\xe2\xa0t\xab\xcf\x1dB\xd1\xd1p(:T{j\xebGQ4t\x01[\x14\x98\xa9\x99)\x85i\x88E8\xa9\x15\xa9\x98\xa7\xa8\xa5`\x1e)E \xa7\x0e\x94\x86\x14\x86\x96\x9ah\x01\x1a\x98i\xe6\x9ah\x01\xa6\x8a))\x08))i)\x80\x94QA\xa0\x04\xa2\x8a(\x01)\t\xa54P\x02QE\x14\x00\x94\x94\xbd\xa84\xc6!\xa44\xa6\x90\xd2\x10\xd3Ljq\xa44\\Df\x9azS\xcd1\xa9\x80\xc3\xd2\xa3j\x90\xf4\xa6\x11L\x10\xc3L5!\x14\xc2(\x18\xc3M5&)6\x1aB\x19\x8a)\xe1(\x11\xd3\x01\x98\xa3\x15&\xcaQ\x1d\x00C\x8a]\xa6\xa7\xf2\xe96P\x04%\r.\xca\x9fe\x1e_\xd6\x81\xd8\x87e(J\x9be(J\x02\xe4\x1b)\xdb*m\x94\xa1(\x11\x06\xcfjw\x97\xc9\xa9\x82\xd1\xb4P\x04[)|\xbe*LQ\x8a\x060/\x1d(\xd9\xedO\xe2\x97\x02\x90\x0c\x0bK\xb4S\xb1G\x14\xc44-.)h\xa0\x04\x14\nZ(\x1d\xc2\x92\x96\x92\x80\n(\xa2\x81\x07\xe3E\x14R\x18P:QE\x00\x06\x8f\xd0\xd1E0\nJZN\x94\x083FsFF)3\xe9H\x05\xcd!\xa4\xa5\xe3#$\xe0\xd3\x18\xa2\x92\x8e\x94\x99\xa5p\x1d\x9a21H)8\xe8(\xb8\x0bN\x06\xa3\xcd-\x17\x10\xfaL\xfb\xd3r}h\xa7q\x8b\x9a3E\x19\xa5p\x0c\xd2\xd3h\xa6!\xd9\xf4\xa4\xcd%\x14\xae\x02\xd1\x9aJ(\xb8\x06h\xa4\xa2\x80\x16\x8f\xe7Fh\xefE\xc6\x19\xa2\x92\x8c\xfd)\x08Ri3E\x14\\\x05\xed\xc5\'4f\x92\x81\x8b\x9a3I\x9c\xd1L\x034f\x8c\xd2f\x80\x17>\x9di\xa4\xd1\x9a3@\x06i(\xa2\x81\x07J@r(\xcf4g\x8ah\x02\x90\xd1\x9a\t\xe2\x98\x80\x9e)\xa2\x83\xf4\x14\x94\x84-%\x00\xd1L,\x14RQB\x004\x82\x96\x9b\x9a\x00SI\xf8Q\x9a\r\x00 \xee;\x8aBM/\x1d0?\nBq\xc884\x00\xa7\x8e\xf4\x87\x8eA\xa0\x90z\x8cSs\x8e\x94\x08\x08\xce99\xa2\x8c\xe3\xd7"\x9b\xc6r\x17\x06\x98\x87s\x9aB\x03p\xcc@>\x94\x99\xf5\xa3 \x8e\x084\xac\x02|\xde\x9d\xf1GsK\x9c+\x9es\xda\x90\x10@#\xb8\xa0b\x121\xc7Z3HO9\xa0\xf0\xb9=(b\x02GJ\x061\xdf\xf1\xa4\xe40\xe9E\x17\x1d\x80\x8c\x8e\x99\xa3\x00\x0e84QAI\t\xf4\xebE!j\t\x1di\x0cL\xf3\xc5\'z^?\xfdT\x94\x05\x82\x90\x9e\xdf\xad/9\xa44\x0c)3Fi\t9\xa0c\xb9\xa4\x04\xf64g\xd6\x9b\xcd1\x0b\xcd\x1d\xa9;Q\xfc\xa9\x0c(\xe6\x92\x8a\x04\x14Q\x9aCLaFh\xed\xc7\x14\x9f\x88\xa4\x01KM\xa34\x00\xbd\xa8\xa4\xa2\x80\x17\x93\xf8QI@\xce\xd0H"\x80\x16\x8e\xac=)3\xc5\x14\x00\xb8\xa4\x1e\x94d~4\x9d\xe8\x00\xa2\x96\x90\xfd(\x00\xa2\x8a(\x00\xa2\x90PM\x00\x07\x8a)3K@\n(\xa4\xedE\x00\x14\xb9\xa4\xa5\xa0\x05\xa4\xa3\xb5\x1f\xe4\xd0\x01Gj\x07\xad\x14\x0c\xf5e\xa5\xa4\x14\xb5$\x05\x14Q@\x0bE\x14P\x01\x8a)i(\x01i)h\xa0\x02\x97\x14R\xd0\x02QE\x14\x0c)i:\xd2\xd0 \xa5\xa4\xa0P1h\xa2\x8a\x00)\r-!\xa0\x044\x86\x96\x90\xd0\x02QKE\x16\x18QIJ(\xb8\x05\x14Q@\x05\x14\xb4b\x80\x0cQF(\xc5\x00\x14\xb4b\x8a\x00Z(\xa2\x80\n(\xa2\x80\x16\x8a(\xa0\x00R\xd1E\x00\x14QE\x00\x14\xb4\x94\xb4\x00\x94\xb4Q@\x05!\x14\xb4P\x04ei\xad\x1ejjM\xb4\x0e\xc5G\x8a\xa0x\xabD\xa6i\x8d\x10\xa2\xe23\x1a:\x8d\x92\xb4^\x1fj\x81\xe1\xa7p\xb1Oe.\xda\x99\xa3"\x9b\xb4\xd3\x15\x86\x01N\x14\xbbh\xc5H\xc6\x9ai\xa7\x9aa\xa0\x06\x9ai\xa7\x1ai\xa0\x044\x94Q@\x01\xa4\xa0\xd2P \xa44\xb4\x94\x00\x1aNi{\xd1C\x01\r!\xa54\x86\x80\x134QE\x03\x0e\xd4\x94\xbd\xa9\r0\x03Hii\xa4R\xb0\x86\x9aCN"\x93\x14\xc40\x8ac\n\x97\x14\xd2\xb4\x01\x0e)\xa5j}\x9e\xd4m\xa6\x05}\x94\x9e]Y\xd8)6\x8a\x00\xaf\xe5\xd2\xec\xa9\xb6\xd1\xb6\x80!\xf2\xe9|\xba\x97\x14b\x80#\x08\x05\x1bEIHG\xa5\x004(\xa3h\xa5\xa5\xa0\x06\xed\x14b\x96\x8cP\x02b\x97\x14Q@\tE-\x14\x00RR\xd1@\t\x8a(\xa2\x80AE\x14f\x81\xdc\r\x1d\xa8\xa3\xb5\x01p\xa2\x90\x1a)1\x05\x14\x94\x99\xa0c\xe9)3I\x93\x8aaa\xd9\xe2\x8e\xd4\xda)\x00\xec\xd2g\xde\x8ei(\x01h\xa6\xd1L\x07f\x934Rz\xd2\xb8\x0b\x9aL\xd1IJ\xe1ah\xa4\xcd\x19\xa2\xe2B\xe74Rf\x934\x0cZ)3Fh\x01sE&\xeaL\xd0\x03\xa8\x14\xdc\xd0\r\x16\x10\xec\xd2f\x93>\xf4f\x80\xb0\xee\x94f\x9b\x9aL\xd0\x80}\x19\xa6\xee\xa3u;\x00\xec\x9e\xc2\x934\xdc\xd1\x91E\x80visL\xcd\x19\xa0\x07f\x8c\xd3sI\x9e\xb4\x00\xec\xd1\x9f\xae=\xe9\xa2\x8c\xd0\x03\xf3I\x9anis@\\3Fi3I\x9a,\x03\xa8\xcd7u\x19\xa6\x03\xb3Fi\xa4\xf4\xc5\x19\xed@\x0b\x9a3M\xcd\x14 \x1d\x9aL\xd2})\xb9\xa0\x07\xd2f\x9b\x9a3@\ns\xebA\xa4\xf9\xba\x81\xf2\x8e\xa6\x934\x12\x98\xb4Rf\x90\x9c\n\x00\\\xd2\x16\xa3\xb0\xe9\xf8R\x1ahL3\xcd-4u\xa5\xe7\'\x9e=(\x1aB\xe6\x934\x99\xa4\xa0\x05?\x87\xf5\xa4\xdc=h\xcd\x07\xd74\x00RQ\xces\x9aC\x92y\xa0\x03\xf9\xd2g?N\xf4\x0c\xff\x00\x163\xedA\xa2\xc2\x0c\xf1\xc0\xa4\xcf$\x9a)23\xceq\xedLV\x179\xf5\xa4\x18<7J@FH\x02\x8e\x94\x00\x02\n\x90T\xe3\x18\x00\xd2\x13\x82x\xc5\x19\xc1\x18\xedM\x00\x0c\xe3$\x9erM\x03\x1d\x91\x9cw\xefH~\x98\x14\xa4\x969 g\xd6\x93\xbf\xf8\xd2\x01:\xd1\x9c\x1e\x05(\x03a\xc8\xcbg\x82)0\x0f^\xd4\r\t\xef\xeb@\xe0\x1c\xf5\xcf\xe9GA@4\r!\t\xe3\x18\xa0\x9a3\xc6qGj@\x04\x8e\x86\x93s)\x1d\x0e\x069\xa4#\x92\xddrq\x9a\x0fZ\x06\x14\xb9\x14\x87\x93\xc8\xc7j:\x0cP4\'\x7fZ(\xa2\x81\x89E\x19\x1fSHO~\xf4\x00\x1aL\xd1\x9aC@\x83<\xd1\x9aJ:P0\xc8\xf5\xa0\xd1\xda\x90\xfbP\x01\xdb\xde\x93\'\x18\xa2\x8a\x00(\xa2\x93\xbd\x03\x16\x934QL,\x02\x8a)(\x01i)i;\x1a@-\x19\xe6\x93<R\x8e\x94\x08\r\x14\x94\x99\xa61h\xcd%\x06\x90\x85\xa2\x90\x1ey\xa39\xa0\x034\x1a(\xa0\x05\'\x8a\x01\xa44\x94\x0cw\xa5\x19\xe4\xd2\n;\xd0!A\xa34\x82\x8e\xf4\x00\xb4f\x92\x934\x00\xe3E 4\xbd\xb8\xeb@\x1e\xb1E\x14\xb5$\x85\x14R\xd0\x01E\x14P\x02R\xd2R\xd3\x18QKE!\x05\x18\xa4\xa7P;\x85\x14R\xd0\x02QE-\x02\x12\x96\x93\x14\xb8\xa0aE\x18\xa5\xc5\x00%\x14Q@\r4\x94\xe3M\xa0\x04\xa5\xa2\x8a\x06&)h\xa2\x80\n(\xa5\xa0\x02\x8a(\xc5\x00-\x14Q@\x05\x14\xb4\x94\x00\xb4QE\x00\x14QK@\x05\x14\xb4P\x01E\x14\x94\x00\xb4RR\xd0\x01KE\x14\x00QE\x14\x00\xb4QE\x00\x14\xb4Q@\x05&3KE\x03\xb8\xc2\x95\x1bF*zB3@\xaeUh\xc6*\x16\x8b\xd2\xae2\x8a\x85\xd7\x14\x01M\x90\x8e\xd4\xc21V\\T\x0f@\x1154\xd3\x8d4\xd0\x03Z\x9ai\xcdM4\x08CI\x9aZi\xa4\x01IE\x06\x98\x05\x14\x94\x1a\x00(\xa2\x8a\x00J(\xa4\xc5\x16\x00\xa4\xa7b\x8cP\x17\x13\x14\x94\xfcRb\x98\xc6\xe2\x93\x14\xfcsF(\xb8\x86b\x93mIHE\x003\x14\x98\xa7\x1ai4\xae\x02\x11M"\x9cM!4\xc0Ji\xa5\xa4\xe9@\x84\xc5%.i)\x80QGj(\x00\xa4\xa2\x93\x9a@\x18\xa5\xa4\xcd%0\x17\xbd\x06\x934P\x01E\x14f\x80\x03E%\x14\x0e\xc2\xd1IFh\x00\xa2\x934\x99\xa5p\x17\xf5\xa2\x934\x99\xa0\x05\xedI\x93Fi3LB\xe6\x974\xdc\xd1\x9aW\x18\xb9\xa2\x9b\x9a7\n\x00\\\xd2\xe4S\x0bQ\xba\x90\\u\x14\xc2\xd4\x81\xa9\xa0\xb9&h\xcd3u&\xea@I\x9aM\xdc\x82FGzf\xea3\xefM\x85\x87\xe6\x93w\x14\xcd\xd4n\xa5a\x0e-I\xba\x9b\xba\x8c\xd3\xb0\x0e\xddF\xeafh\xddE\x80v\xea3L\xddFM0\x1c\x1a\x974\xc2i3\xc5\x00?<\xd1\xba\x99\x9a3E\x82\xe3\xb7\x1a7SsE\x02\xb8\xfc\xd1\x9fCL\xe6\x8a\x01\x0f\xcd\x1b\xa9\x99\xa5\xcd\x00;4\xa2\x99\x9eh\xcd\x03\x1dFi?\x1a>\xb4\x00\xb9\xa34\x9cRf\x80\x1dE%\x14\x00\xb9\xa4\xcd\x19\xe2\x9b\x9a\x05q\xd9\xa3\x9a@h\xc9\xa0\x05\xa34\x99\xa4\xa0b\xd1\x9aJ($\\\xd2f\x8aJ\x06-&h\xcf\x14\x83\x93\x81@\x85<\x8a\t\xedI\x93\xf8Ru\x1c\x1c\x1fZ\x02\xe2\xd2\xd2v\xa3\xb50\x10*\x87-\xceO^z\xd2\xd03\xdcc\x8c\xe2\x8c\xd2\x0b\x05\x1d\xa8\xcfZOa@\tE\x18\xa0\x06\x038\xe3\xd6\xaa\xe2\x01\xc5\x19\xfdi\r\x15#@zP)9#$P:P\x01\xeb\xc1\xe0g\x8a@h\x1c\x1c\xf7\xa5\xe7\xae\xd2>\xb4\xc44\x9eh\xebA\xa3\xa5\x16\x00\x07# Rc=N\xdc\xf7\xa1\xb2F3\xd6\x9a\xc0\x10An\xbdG\xa8\xa2\xc0(\x04pp}\xc5!88\xa5?LRd\xf3\x81\xcd1\t\x9fz:\xd0H;\x8bq\xb3\x00\x0c\xf54\x94\x98 \xc7\xff\x00\xae\x8a_\xc3\xe9I\xf7p\x1b\xa8\xe7\x14\xc6\x00\xf0APA\xf5\xa3?\x85&h\xa4;\x00\xe2\x92\x96\x90\xf4&\x90\xd0\x9f\xce\x8aC\xeb@\xa0`M\x1d\xa8\xea\x02\xfb\xe6\x83@XCGc\xcf4f\x92\x81\x87\xa6{\x1a2{\x9c\xd2\x1a(\x04\x07\xad\x07\x95\xa4\xa2\x81\x86=(\xfa\xd1I\xde\x81\x07\x14\x1a8\xc7\xbd \xa0b\x1aJq\xa6\xf1@\t\x900\t\xc1=)zRQ@\xc3=\xa9(\xa2\x80\x16\x90\xd1\xd8v\xa2\x81\n:R\x1aJ(\x18QE!\xa0\x05\xcf4P)3\xe9@\\(\x19\xa3?\x9d\x19\xe2\x81\x014\x94g9\xe7\x9a1\xc74\xc1\x05)\xe6\x81\xd2\x92\x90\xec\x07\x9aA\x9aZ(\x00\xe3\x14RR\xd0\x01\x9aL\x8f\xc6\x8a^\xd4\x00\x7f*;Q\x8aJ\x04- \xa34P1GJC\xd2\x8a)\x85\x85\xa34QHv=j\x96\x92\x8c\x81\x80H\xc9\xe9Rf--\x14b\x80\x13\x14\xb4QE\x86\x14QE\x0c\x05\xc5\x14\xb4P \xa2\x8cQ\x8a\x07`\xa5\xa4\xa5\xa0\x02\x92\x8aQ@\x05-%-\x00\x14Q\x8a(\x01(\xa5\xa4\xa0\x06\x9e\x94\x94\xe3\xd2\x9b@\xc2\x8a)h\xb0\tE\x14P\x02\x81E\x14P\x01KE\x14\x00QE-\x00\x14\x94\xb4P\x01E-\x14\x00QE\x14\x00\xb4QE\x00%\x14\xb4P\x01IKE\x00-\x14Q@\x05\x14R\xd0\x01E\x14P\x02\xd2QK@\x05\x14R\xd0;\tHii\x1a\x90\x0cj\x85\xcf\x153T\x0f@\x88^\xa0z\x9aS\x81U\xc9\xc9\xa6\x03Z\x98i\xcdL4\x00\xd3HiZ\x9ah\x00\xa6\x9aZCE\x80CHiM\x14\x00RQ\x8a\\S\xb0\x86\xd2\xd3\xb1@\x14\xc0n(\xc5?m&)\x00\x98\xa3\x14\xecR\x1a@!\xa2\x82i(\x004\x99\xa4&\x90\x9a\x003HM\x04\xd3\t\xa1\x80\xe2i\xa4\xd2f\x90\x9ai\x08\r&i3HM\x00.i;RPH\xa6\x01A4\x99\xa4\xcd \x174\x84\xd3I\xa5&\x98\x0b\x9aJL\xd2n\xe2\x80\x1d\x9aJn\xea7R\xb8\x0e\xa34\xcd\xdcR\x06\xa7q\x8f\xcd\x19\xa6\x16\xa4\xdfJ\xe2$\xcd&j=\xf4\x9b\xe8\xb8\xc97Q\xba\xa2\xdch.h\x0b\x12\x13I\xbb5\x19s\xebI\xba\x84\x04\x9b\xa97T{\xe8-H\t7Q\xba\xa3\xddI\xba\x9d\x84I\xba\x8d\xd4\xcc\xfbRn\xa2\xc3\x1f\x9aL\xd3rh\xc9\xf5\xa2\xc1q\xd9\xa34\xcc\x9a)\x88v\xea3M\xa2\x80\x174n\xa4\xa5\xa0\x10f\x974\xd2h\xa0..h\xcd%-\x01p\xcd&h\xc5\x18\xa0\x06\x97\x00\xa8?\xc5\xc0\xa5\xebC\x06\xda<\xb7\n\xc0\xe7\x04g4\x00@\xc1\xeb@\x82\x8a1E\x00\x82\x8a(\xa0\x00g\'\xd2\x8a(\xa0\x02\x8a(\xa0\x03$\x1e(\xc9\xefE\x1d9\x1di\x883KIE!\x86ii(\xa2\xc1p\xa5\xa4\x06\x97<Q`\x0c\xd1IGj\x06;4\x94\x94P\x02\xd1E%\x02\xb8\xb4\x94\x13A\xa0\x034f\x92\x90\xf4\xa0\x07\n\x01\xa6\x83Fi\x8a\xe3\xb3I\x9a@i\x01\xceF\xd2)\x0cvi\x0e\x08#\xd6\x8aN\xfc\xd0+\x00\xe4t\xc0\xf4\xa2\x8c\xd1@X)GJJ3\x8e\x94\x00\xb8\x19&\x93=\xa8\xcd\x14\x0c^=h\xefM4\xa2\x98\x80\x93H1\x8e8\xcf_z\r&\x07\x00\x8e;\xd2\x01i3A\xc8\x18\xa4#\x81\x9cs\xd2\x98\x07\xa1\x04sK\xc7\\\xd3q\xcf\x14\x84\x0c\xe7\xbd\x16\x15\xc7f\x9aH=3\x91IFy\xa2\xc1qs\xebHNp\x0b\x02\xc3\xa8\xa5\xcf\x1c\xd2pI \x81\xf5\xa6!i\xa4\x0e\xb4\xa3;y=:\xd3y\xe9\x9c\xd0\x02\xe4\xf6\xe9E!\x04Q\xda\x81\xd8J3J\x08\xe9I\x8aA`\xebI\x80==(\xfa\n\x0e\x0e0s@\xc4\xa3\xbd\x07\xdb\xa5\x03\xad\x0c\xa1{\x81Ct"\x93\xb6\xd1\xc2\x8f\xce\x8e>\xa2\x90\x84\xf4\xa4<f\x9d\xdf\xda\x90\xf4\xa0b\x02;\x1aO\xa1\xfa\xd0h\xa0b\x13IE\x14\x0cB\x7f:3\xc5\'z(\x00\xa2\x92\x8a\x00Z\t\xa4\xa5\xa0\x04\xf7\xa34q\x81I\xcf\xb5\x00)=i\xbcR\xfa\xd2\x1a\x00CIE\x14\xc6\x14QIHB\xe7\x8a)\xbd\xe9x\x1d(\x18v\xa2\x939\xedG4\x00\xb4v\xf5\xa4\xcd\x194\x02\x00Fi;\xd01Gz\x01\x86(\xfdi\x7f\x1a(\x01)i\xa7\x8aZa`\xa2\x96\x8a@%\x18\xe2\x8a3\xc5\x03B\x1e\x94\x0e\x9e\xf4Q@\x82\x8a;\xd1@\n)(\xa3\x14\x00Q\xda\x96\x8a\x04!\xa4\x1f\x95)\xa0S(?\x1aNsGz\\\xd0#\xd6\xfa\x9ao\x96\xa6@\xe7\x92:{S\xe8\xa8 QE\x02\x8a\x00(\xa2\x8ac\nu\x14R\x00\xa2\x8a(\x10QKE\x03\n(\xa2\x81\x05\x02\x8aZ\x06\x14b\x81K@\x05\x14Q@\tIN\xa4\xa0\x06\x9aCKI@\tKE-\x006\x94QK@\xc4\xa5\xa2\x8a\x00(\xa2\x96\x80\n(\xa2\x80\n(\xa2\x80\x16\x8a(\xa0\x02\x8a1K@\x06h\xa2\x8a\x00J(\xa5\xa0\x02\x81E\x03\xbd\x00-\x14\xb4P\x01E\x14P\x01KIK@\tKE\x18\xa0v\x16\x8a(\xa0\x02\x9ai\xd4\xd3H\x08\x9b\xbdC!\n\t\'\x00T\xe7\x9a\xcd\xb8\x94\xcd.\xd4?\xbbS\xf9\xd0\x02\x16.\xc4\xf6\xa6\xb5;\xa0\xa6\x1a\t\x1a\xd4\xc3Nji\xa61\xa6\x90\xd2\x9aJ,\x02\x1aJZ1E\x84&(\xdbN\xdbF\xda\x00LQ\x8av(\xc50\x1b\x8a1N\xc5&)\x0cJJu4\xd0\x01M&\x94\x9aa4\x08\r!4\x13L&\x80\x14\x9aijijij\x048\x9ai4\xd2\xd4\xdd\xde\xf4\xec\x03\xcbSsM-M\xdf@\x12\x13M\xddQ\x97\xa6\xef\xa6\x04\xb9\xa4\xddQ\xf9\x94\xc2\xfdh\x02m\xd4\x9b\xf8\xa8K\xf1\xd6\x93\x7f\xbd\x01bb\xf4\x9b\xfd\xea\x1d\xde\xf4\x9b\xa9\\v%\xdfF\xea\x87u\x194\xae\x04\x85\xa9<\xcafi(\x02]\xfcSwSE&h\x01\xfb\xb8\xa4\xddM\xa2\x80\x1d\xba\x93>\xf4\x94P+\x8b\x9a3IE1\x81\xa2\x8cP\x050a\xc5\x14b\x8a\x04\x18\xa2\x8cQ@\x05\x14\xb4\x94\x0cJQF(\xa0V\nZ(\xa4\x80(\xa2\x96\x98\r\xa3\x14\xea(\x01\xb4R\xd2P\x00ii\r\x02\x80\nQIE\x00\x06\x8a(\xa0A\x9aJ(\xc5\x00-\x14\n;\xd0\x02`\xe6\x8aZoz\x00QE%-\x00\x02\x8aJ3@\x05\x14\x9f\x8d-\x02\x0c\xd2\x0c\xd0)h\x0b\n(\xedG\xe7I@\xd0\x1e\xb4d\x02\x06y4Q@\xae/Z\x05\x02\x8a\x06\x85\xa4>\xd4Q@\x01\x14\x94\xb4\x94\x00R\x13E!\xe7\x9a\x00^\xd4R\x0cR\x1a\x00^\x9d\xe8\xa4\xe9E\x00- &\x96\x93<\xd0\x02\x8e\xb4\x84\xf2x\xa3\xbd\x1dH^\xe7\xbd\x00\x19\xa0\x13\x9f\xbb\xc5!\xea:\xd1L\x054\xa2\x9bJ\r!\x06h4\x86\x93>\x94\xc6)4\x1e\xdc\x81IG\xf3\xa0B\x01\xc7\xccX\x9c\xf5\xa0\x86\'\x85\xcd\x07p\xe4d\xe0\xe7\x03\xbd#r\x0f\x1dh\xb8\x859\x04z\xf7\xa49\xcf\xa8\xa3\xa8\xeb\x83F\x0e\xed\xa4\x82@\xc8\x00\xd0\x02w\xa4\xa58\xceA\xc1\xf4\xa44\x08^):qG4s\xe8\x06\x07zc\xb8\x9c\xee\x1f)\xda{\xfaQ\xcfc\x83J:Rw\xa0V\x10\xfd\xe3Gj\t\xe7\x1c\xd2\xaf\xde\x00\x02sI\x8d\tE\x06\x8fz`%\x07\xd3\xda\x94\x9eH\xe4\xd2u\xedHb\x1e\xd4\x1e\xa6\x8e\xb9\x01\x80\xef\x8cR\x1e((^\x83\x14\x9c\xe74\xbd\xbd\xe8\xec)\x00\x9c\x9e\xf4\x94\xbc\n\x07\x7fZ\x00@A\xce\x084\xdaw\xe1M=\xe8\x18\x84\xd2g\xf5\xa0\xf1I@\xc0\xf6\xa3\xbd\x14\x83\xa5\x02\nN\xf4{Q\xd2\x81\x8ah\xebE\x14\x00c\x14qG=\xe9(\x00\xa6\x9au6\x80\x0e\xd9\xc5!\xa5?N)\xa6\x98\xc5\xa4\xa0zR\x1a@-\'\x14Q@\x07CHiq\xde\x93\x14\x00Q\xda\x8a(\x1d\xc5\xc7\x14\x99\xa0\xf4\xa2\x81\x01\xa3\xb5-%\x00\x06\x8a\r%\x02\x1c);\xd1\x9a\x06q\x9e\x94\x0c1F)i(\x00\xc7\x14QE\x00%\x14Q@\x06)i(\xa0\x02\x96\x80}\xa8\x14\x00\x94QF(\x10QE\x14\x0c\xf5\xcaZJZ\x92\x02\x8a\x05\x03\xad\x03\x16\x96\x8a(\x10QE\x14XaE-\x14\x00P(\xa5\xa0AE\x14P0\xa2\x96\x8a\x00(\xa2\x8a\x00(\xa2\x8a\x00)\r-!\xa0\x06\x9a)i(\x00\xa2\x8a(\x18QF(\xa0\x05\xa4\xa5\xa44\x00R\xd1E\x00\x14QE\x00\x14\xb4\x94\xb4\x00QE\x14\x00\xb4QE\x00\x14QE\x00\x14\x0e\xf4P;\xd0\x02\xd1F)h\x00\xa2\x8aZ\x06%-%\x14\x05\xc5\xa2\x92\x96\x80\x16\x8aLR\xd0\x01E\x14P\x02PFN\x05\x15_Q\xbc\x16PmC\x9b\x89\x06\x14\x7fw\xde\x90\x15\xb5+\x9c\x13o\x19\xc9?x\x8e\xd5\x14Q\xecN{\xd4vV\xe5\xb7<\xbd:\xf3RO6\xe6\xda\xbftS\x10\xc7nx\xa6\xd09\xa0\x8a@1\xa9\xa6\x9ei\xb4\xec\x03qI\xb6\x9f\x8a]\xb4\xc0f)@\x14\xecR\x81@\x86b\x8cT\x98\xa3\x14\\\x08\xf1F*LRb\x8b\x80\xccR\x11O"\x9ai\x00\xc3L4\xe3L4\xec\x02\x13L&\x95\x8dF\xcd@\x035FZ\x9a\xefQ\x17\xa6"B\xd4\xc2\xf5\x1b9\x02\xa32P\x08\x94\xbf4\xd3%B^\x9a^\x80&2SK\xd4{\x8d7$\xd2\x1d\x89\x0b\xd2o\xa6QJ\xe0<\xbf4\xd2\xc6\x92\x8a.0\xcfjJZ1\x8a\x00)E%-\x02\n(\xa2\x80\x01E\x14\x1a\x00(\xa2\x8a`\x14\xb4\x94\x1a\x00(\xa2\x8a\x001E(\xa2\x80\xb0QKIH\x02\x92\x97\x14U\x00RS\xb3\xcd% \x12\x96\x97\x02\x8a\x02\xc2QKE0\x10\xd2\xd1KH,\'j\x00\xa2\x934\xc5ah\xefIG\xe1@\x06=\xa8\xa3\xf1\xa3\x14\x00\x94\x94\xb4P\x01E(\xa4\xa0\x02\x93\x83\xc1\xe4S\xa9(\x0b\x08\x00\x03\x00\x00\x07a@\xa2\x8a\x04/\xf2\xa4\xc6Nh\x1d=\xa8\x14\r\x85\x1d\xe8\xfc\xe8\xa0L(\xa2\x92\x80\x16\x92\x8eh\xa0\x04\xa5\x14\x84P\x05\x00\x1d\xe9M\x14P0\xa5\x03\xeb\xf8\xd2R\x8a\x04\x14\x9d\xf1KI\xde\x80\x0cQ\xd0Pr;Py\x14\x00\nZN\xd4\n\x00:{\xd1G9\xa4\xcf\xe1@0\xedM##\x14\xb4\x11@\x08h\x19\xa0\xfb\xd1@\x00\xf5\x1c\xd1\xcd\x1d)\x0fN\xf4\x08(\xa0z\xd2\x93\xdf?\x85'... (set the log level to DEBUG or TRACE to see the full content)
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.787" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/recycle-user-center/file-uploading/upload/image
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:57 GMT', 'Content-Type': 'application/json;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive'}
|
|
body={"code":0,"message":"successful","data":"https://qncloudtest.oss-cn-shenzhen.aliyuncs.com/common/26273851880141132.jpg"}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.787" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.665" endtime="20220819 14:08:57.788"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()}</arg>
|
|
<arg>data</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutboundImage}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.789" level="INFO">${OutboundImage} = https://qncloudtest.oss-cn-shenzhen.aliyuncs.com/common/26273851880141132.jpg</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.788" endtime="20220819 14:08:57.789"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${OutboundImage}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.789" level="INFO">${OutboundImage} = https://qncloudtest.oss-cn-shenzhen.aliyuncs.com/common/26273851880141132.jpg</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.789" endtime="20220819 14:08:57.789"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:57.189" endtime="20220819 14:08:57.790" critical="yes"></status>
|
|
</test>
|
|
<status status="PASS" starttime="20220819 14:08:57.185" endtime="20220819 14:08:57.790"></status>
|
|
</suite>
|
|
<status status="PASS" starttime="20220819 14:08:55.978" endtime="20220819 14:08:57.791"></status>
|
|
</suite>
|
|
<suite id="s1-s2" name="001-FactoryReceiptManual" source="/root/ztb-factory-rf-api/001-FactoryReceiptManual">
|
|
<suite id="s1-s2-s1" name="1-Client" source="/root/ztb-factory-rf-api/001-FactoryReceiptManual/1-Client">
|
|
<suite id="s1-s2-s1-s1" name="FactoryReceipt" source="/root/ztb-factory-rf-api/001-FactoryReceiptManual/1-Client/FactoryReceipt.robot">
|
|
<test id="s1-s2-s1-s1-t1" name="ReceiptOrder">
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>${ztbClient}</arg>
|
|
<arg>${client_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.803" level="INFO">Creating Session using : alias=ztbf, url=https://api-client-ztb-test.qniao.cn, headers={'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.802" endtime="20220819 14:08:57.803"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>round(random.uniform(${defaultUnitPrice},${highestUnitPrice}),2)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${unitPrice}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.804" level="INFO">${unitPrice} = 6.44</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.803" endtime="20220819 14:08:57.804"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.randint(6000,10000)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${netWeight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.805" level="INFO">${netWeight} = 7468</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.804" endtime="20220819 14:08:57.805"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>${netWeight}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${settleWeight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.805" level="INFO">${settleWeight} = 7468</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.805" endtime="20220819 14:08:57.805"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>${unitPrice}*${settleWeight}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${settlePrice}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.806" level="INFO">${settlePrice} = 48093.920000000006</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.805" endtime="20220819 14:08:57.806"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "deductType":1, \ \ \ \ "isWithoutTare":0, \ \ \ \ "status":null, \ \ \ \ "factoryCustomerId":"${CustomerId}", \ \ \ \ "factoryCustomerName":"${name}", \ \ \ \ "netWeight":"${netWeight}", \ \ \ \ "settleWeight":"${settleWeight}", \ \ \ \ "plateNumber":"55555", \ \ \ \ "productInfoList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "productId":"${categoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "productName":"${categoryName}", \ \ \ \ \ \ \ \ \ \ \ \ "unitPrice":"${unitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "konePrice":"指导价格:${defaultUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "highestUnitPrice":"${highestUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "lowestUnitPrice":0, \ \ \ \ \ \ \ \ \ \ \ \ "settleWeight":"${settleWeight}", \ \ \ \ \ \ \ \ \ \ \ \ "settlePrice":"${settlePrice}" \ \ \ \ \ \ \ \ } \ \ \ \ ] }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${data}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.808" level="INFO">${data} = { "deductType":1, "isWithoutTare":0, "status":null, "factoryCustomerId":"126", "factoryCustomerName":"哈哈", "netWeight":"7468", "settleWeight":"7468", "plateNumber":"555...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.806" endtime="20220819 14:08:57.808"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/save/scrap-paper-onside-receipt-order</arg>
|
|
<arg>${data.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.976" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/save/scrap-paper-onside-receipt-order
|
|
path_url=/ztb-factory/save/scrap-paper-onside-receipt-order
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '582'}
|
|
body=b'{ "deductType":1, "isWithoutTare":0, "status":null, "factoryCustomerId":"126", "factoryCustomerName":"\xe5\x93\x88\xe5\x93\x88", "netWeight":"7468", "settleWeight":"7468", "plateNumber":"55555", "productInfoList":[ { "productId":"741345072695611392", "productName":"\xe7\xba\xaf\xe5\xb7\xa5\xe5\x8e\x82\xe7\xba\xb8\xe8\xbe\xb9", "unitPrice":"6.44", "konePrice":"\xe6\x8c\x87\xe5\xaf\xbc\xe4\xbb\xb7\xe6\xa0\xbc\xef\xbc\x9a5.0", "highestUnitPrice":"6.5", "lowestUnitPrice":0, "settleWeight":"7468", "settlePrice":"48093.920000000006" } ] }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.977" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/save/scrap-paper-onside-receipt-order
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:57 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":758006666045296640}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:57.977" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.808" endtime="20220819 14:08:57.977"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()}</arg>
|
|
<arg>data</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OrderId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.978" level="INFO">${OrderId} = 758006666045296640</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.977" endtime="20220819 14:08:57.978"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${OrderId}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:57.979" level="INFO">${OrderId} = 758006666045296640</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.978" endtime="20220819 14:08:57.979"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{"id":"${OrderId}"}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${auditData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:57.979" level="INFO">${auditData} = {"id":"758006666045296640"}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.979" endtime="20220819 14:08:57.979"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/factory/audit-pass/order</arg>
|
|
<arg>${auditData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.096" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/audit-pass/order
|
|
path_url=/ztb-factory/factory/audit-pass/order
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '27'}
|
|
body=b'{"id":"758006666045296640"}'
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:58.096" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/audit-pass/order
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:58 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:58.097" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:57.979" endtime="20220819 14:08:58.097"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{"settleType":2,"ids":["${OrderId}"]}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${paymentData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.098" level="INFO">${paymentData} = {"settleType":2,"ids":["758006666045296640"]}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.097" endtime="20220819 14:08:58.098"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/wechat-applet/merge-receiving-pay-order/pay</arg>
|
|
<arg>${paymentData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.235" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/wechat-applet/merge-receiving-pay-order/pay
|
|
path_url=/ztb-factory/wechat-applet/merge-receiving-pay-order/pay
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '45'}
|
|
body=b'{"settleType":2,"ids":["758006666045296640"]}'
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:58.236" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/wechat-applet/merge-receiving-pay-order/pay
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:58 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:58.236" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.098" endtime="20220819 14:08:58.236"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:57.802" endtime="20220819 14:08:58.236" critical="yes"></status>
|
|
</test>
|
|
<status status="PASS" starttime="20220819 14:08:57.799" endtime="20220819 14:08:58.237"></status>
|
|
</suite>
|
|
<status status="PASS" starttime="20220819 14:08:57.796" endtime="20220819 14:08:58.239"></status>
|
|
</suite>
|
|
<status status="PASS" starttime="20220819 14:08:57.792" endtime="20220819 14:08:58.240"></status>
|
|
</suite>
|
|
<suite id="s1-s3" name="002-FactoryReceiptSwipe" source="/root/ztb-factory-rf-api/002-FactoryReceiptSwipe">
|
|
<suite id="s1-s3-s1" name="1-Client" source="/root/ztb-factory-rf-api/002-FactoryReceiptSwipe/1-Client">
|
|
<suite id="s1-s3-s1-s1" name="FactoryReceipt" source="/root/ztb-factory-rf-api/002-FactoryReceiptSwipe/1-Client/FactoryReceipt.robot">
|
|
<test id="s1-s3-s1-s1-t1" name="ReceiptWeigh">
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>${ztbClient}</arg>
|
|
<arg>${client_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:58.254" level="INFO">Creating Session using : alias=ztbf, url=https://api-client-ztb-test.qniao.cn, headers={'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.254" endtime="20220819 14:08:58.255"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.randint(4000,5000)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${weight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.256" level="INFO">${weight} = 4963</msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.255" endtime="20220819 14:08:58.256"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{"cardNo":"${ReceiptcardNo}","weight":${weight}}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${weighData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.256" level="INFO">${weighData} = {"cardNo":"2836579628","weight":4963}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.256" endtime="20220819 14:08:58.256"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/factory-customer/save/order</arg>
|
|
<arg>${weighData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.519" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory-customer/save/order
|
|
path_url=/ztb-factory/factory-customer/save/order
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '37'}
|
|
body=b'{"cardNo":"2836579628","weight":4963}'
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:58.519" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory-customer/save/order
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:58 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"毛重称重成功,4963公斤,请下地磅","data":{"id":"758006668427661312","factoryCustomerId":136,"productId":null,"weighingType":null,"settleType":null,"totalWeight":4963,"emptyWeight":null,"netWeight":null,"settleWeight":null,"unitPrice":null,"settleUnitPrice":null,"settlePrice":null,"totalPrice":null,"plateNumber":null,"deductPercent":null,"deductWeight":null,"inspectorId":null,"weightAuditorId":null,"status":1,"remark":null,"bankCardNo":null,"bankName":null,"bankBranchName":null,"bangTime":null,"inspectionTime":null,"factoryCustomerName":"小可爱","factoryCustomerMobile":null,"isWithoutTare":null,"adjustFee":null,"inspectionPerson":null,"weightAuditorPerson":null,"weightAuditTime":null,"productCategoryName":null,"bussinessFactoryId":738816441691803648,"productName":null,"auditRemark":null,"createTime":"2022-08-19 14:08:58","cardNo":"2836579628","message":null,"firstWeight":null,"firstWeightType":null,"firstWeightImageUrls1":null,"firstWeightImageUrls2":null,"secondWeight":null,"secondWeightType":null,"secondWeightImageUrls1":null,"secondWeightImageUrls2":null,"printDataList":null,"printDataCmd":null}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:58.519" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.256" endtime="20220819 14:08:58.519"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ReceiptOrderId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.520" level="INFO">${ReceiptOrderId} = 758006668427661312</msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.520" endtime="20220819 14:08:58.520"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${ReceiptOrderId}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:58.521" level="INFO">${ReceiptOrderId} = 758006668427661312</msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.521" endtime="20220819 14:08:58.521"></status>
|
|
</kw>
|
|
<kw name="Should Be Equal As Strings" library="BuiltIn">
|
|
<doc>Fails if objects are unequal after converting them to strings.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()["message"]}</arg>
|
|
<arg>毛重称重成功,${weight}公斤,请下地磅</arg>
|
|
</arguments>
|
|
<status status="PASS" starttime="20220819 14:08:58.521" endtime="20220819 14:08:58.522"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/factory/wechat-applet/get/order-detail/${ReceiptOrderId}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.697" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/wechat-applet/get/order-detail/758006668427661312
|
|
path_url=/ztb-factory/factory/wechat-applet/get/order-detail/758006668427661312
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:58.697" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/wechat-applet/get/order-detail/758006668427661312
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:58 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":{"id":"758006668427661312","weightNoteId":null,"orderType":1,"factoryCustomerId":"136","factoryCustomerName":"小可爱","factoryCustomerMobile":null,"customerSettleType":null,"weighingType":null,"settleType":null,"plateNumber":null,"inspectorName":null,"status":1,"remark":null,"inspectionTime":null,"createTime":"2022-08-19 14:08:58","emptyWeighingPicture":null,"totalWeighingPicture":null,"isWithoutTare":0,"adjustFee":null,"inspectionPerson":null,"weightAuditorPerson":null,"weightAuditTime":null,"bussinessFactoryId":"738816441691803648","auditRemark":null,"payPersonId":null,"payPersonName":null,"payTime":null,"payRemark":null,"tareWeightTime":null,"inspectionRemark":null,"bankCardNo":null,"bankName":null,"bankBranchName":null,"cardNo":"2836625596","orderImageList":null,"onsideGrossWeightImageList":null,"paymentOrderInfo":{"id":null,"orderId":null,"customerEnterpriseId":null,"customerEnterpriseName":null,"customerContactsId":null,"customerContactsName":null,"customerContactsMobile":null,"supplierEnterpriseId":null,"supplierEnterpriseName":null,"supplierContactsId":null,"supplierContactsName":null,"supplierContactsMobile":null,"customerFactoryId":null,"customerFactoryName":null,"customerLegalPersonName":null,"customerLegalPersonIdCardNo":null,"customerLegalPersonMobile":null,"managementType":null,"isOperatorNoAudit":null,"status":null,"settlePrice":null,"totalPrice":null,"agencyPaymentCreditId":null,"settlementMethod":null,"settlementInAccountPeriod":null,"overdueSettlement":null,"settlementFeeUnit":null,"productName":null,"createTime":null,"remark":null,"settlementPeriod":null,"settleWeight":null,"factoryCustomerId":null,"customerPersonName":null,"settleUnitPrice":null,"receivablePrice":null,"overduePrice":null,"accountPeriodReceivePrice":null,"waitReceivedPrice":null,"paidPrice":0,"overdueDays":null,"payableStatus":null,"receivableStatus":null,"customerSettleType":null,"auditId":null,"auditName":null,"updateTime":null,"weightAuditTime":null},"paymentOrderLog":[],"receiptImageList":null,"isHandworkOrder":0,"adjustedPrice":null,"orderNumber":"S2022081900012","paymentImageList":null,"settleWeight":0,"settlePrice":0,"deductPercent":null,"deductWeight":null,"productId":null,"productName":null,"productCategoryId":null,"productCategoryName":null,"totalWeight":4963.000,"emptyWeight":0.000,"netWeight":null,"unitPrice":0.000,"settleUnitPrice":null,"proportionOfProduct":100.00,"productInfoList":[{"purchaseOrderId":"758006668452827136","productId":null,"productName":null,"productCategoryId":null,"productCategoryName":null,"totalWeight":4963.000,"emptyWeight":0.000,"netWeight":null,"settleWeight":null,"unitPrice":0.000,"settleUnitPrice":null,"settlePrice":null,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00}],"orderPlacerId":"136","orderPlacerName":"小可爱","additionalRecording":0,"canRevocation":0,"isPrintWeightOrder":null}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:58.697" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.522" endtime="20220819 14:08:58.697"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>plateNumber</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${plateNumber}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.698" level="INFO">${plateNumber} = None</msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.698" endtime="20220819 14:08:58.698"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>isWithoutTare</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${isWithoutTare}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.699" level="INFO">${isWithoutTare} = 0</msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.699" endtime="20220819 14:08:58.699"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>proportionOfProduct</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${proportionOfProduct}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.700" level="INFO">${proportionOfProduct} = 100.0</msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.699" endtime="20220819 14:08:58.700"></status>
|
|
</kw>
|
|
<kw name="Set Variable If" library="BuiltIn">
|
|
<doc>Sets variable based on the given condition.</doc>
|
|
<arguments>
|
|
<arg>'${plateNumber}'=='${None}'</arg>
|
|
<arg>null</arg>
|
|
<arg>${plateNumber}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${plateNumber}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.700" level="INFO">${plateNumber} = null</msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.700" endtime="20220819 14:08:58.700"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>round(random.uniform(${defaultUnitPrice},${highestUnitPrice}),1)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${unitPrice}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.701" level="INFO">${unitPrice} = 6.3</msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.701" endtime="20220819 14:08:58.701"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "id":"${ReceiptOrderId}", \ \ \ \ "productInfoDtoList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "productId":"${categoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "productName":"${categoryName}", \ \ \ \ \ \ \ \ \ \ \ \ "unitPrice":"2.1", \ \ \ \ \ \ \ \ \ \ \ \ "proportionOfProduct":"${proportionOfProduct}", \ \ \ \ \ \ \ \ \ \ \ \ "konePrice":"指导价格:${defaultUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "highestUnitPrice":"${highestUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "lowestUnitPrice":0 \ \ \ \ \ \ \ \ } \ \ \ \ ], \ \ \ \ "plateNumber":${plateNumber}, \ \ \ \ "factoryCustomerId":"${ReceiptCustomerId}", \ \ \ \ "deductType":1, \ \ \ \ "inspectionRemark":"确定定价", \ \ \ \ "isWithoutTare":"${isWithoutTare}" }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${submitData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.703" level="INFO">${submitData} = { "id":"758006668427661312", "productInfoDtoList":[ { "productId":"741345072695611392", "productName":"纯工厂纸边", "unitPrice":"2.1", "propo...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.702" endtime="20220819 14:08:58.703"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/factory/submit/order-price</arg>
|
|
<arg>${submitData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.848" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/submit/order-price
|
|
path_url=/ztb-factory/factory/submit/order-price
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '507'}
|
|
body=b'{ "id":"758006668427661312", "productInfoDtoList":[ { "productId":"741345072695611392", "productName":"\xe7\xba\xaf\xe5\xb7\xa5\xe5\x8e\x82\xe7\xba\xb8\xe8\xbe\xb9", "unitPrice":"2.1", "proportionOfProduct":"100.0", "konePrice":"\xe6\x8c\x87\xe5\xaf\xbc\xe4\xbb\xb7\xe6\xa0\xbc\xef\xbc\x9a5.0", "highestUnitPrice":"6.5", "lowestUnitPrice":0 } ], "plateNumber":null, "factoryCustomerId":"136", "deductType":1, "inspectionRemark":"\xe7\xa1\xae\xe5\xae\x9a\xe5\xae\x9a\xe4\xbb\xb7", "isWithoutTare":"0" }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:58.848" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/submit/order-price
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:58 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:58.849" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.703" endtime="20220819 14:08:58.849"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.randint(2000,4000)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${weightTare}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.850" level="INFO">${weightTare} = 3474</msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.849" endtime="20220819 14:08:58.850"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{"cardNo":"${ReceiptcardNo}","weight":${weightTare}}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${weighData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:58.850" level="INFO">${weighData} = {"cardNo":"2836579628","weight":3474}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.850" endtime="20220819 14:08:58.850"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/factory-customer/save/order</arg>
|
|
<arg>${weighData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.192" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory-customer/save/order
|
|
path_url=/ztb-factory/factory-customer/save/order
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '37'}
|
|
body=b'{"cardNo":"2836579628","weight":3474}'
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.192" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory-customer/save/order
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:59 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"皮重称重成功,3474公斤,正在打印磅单","data":{"id":"758006668427661312","factoryCustomerId":136,"productId":741345072695611392,"weighingType":null,"settleType":null,"totalWeight":4963.000,"emptyWeight":3474.000,"netWeight":1489.000,"settleWeight":1489.000,"unitPrice":2.100,"settleUnitPrice":2.100,"settlePrice":3126.900,"totalPrice":3126.900,"plateNumber":null,"deductPercent":null,"deductWeight":null,"inspectorId":701479226095833088,"weightAuditorId":null,"status":3,"remark":"确定定价","bankCardNo":null,"bankName":null,"bankBranchName":null,"bangTime":"2022-08-19 14:08:58","inspectionTime":"2022-08-19 14:08:59","factoryCustomerName":null,"factoryCustomerMobile":null,"isWithoutTare":0,"adjustFee":null,"inspectionPerson":"南瓜","weightAuditorPerson":null,"weightAuditTime":null,"productCategoryName":"纯工厂纸边","bussinessFactoryId":738816441691803648,"productName":"纯工厂纸边","auditRemark":null,"createTime":"2022-08-19 14:08:58","cardNo":"2836579628","message":null,"firstWeight":null,"firstWeightType":null,"firstWeightImageUrls1":null,"firstWeightImageUrls2":null,"secondWeight":null,"secondWeightType":null,"secondWeightImageUrls1":null,"secondWeightImageUrls2":null,"printDataList":[{"orderType":"收货单","title":"工厂版打包站","des":"纸通宝在手,废纸买卖不发愁","keepLine":"0","category":[{"key":"磅单号","value":"S2022081900012"},{"key":"供货人","value":"小可爱"},{"key":"车牌","value":""},{"key":"订单日期","value":"2022-08-19"},{"key":"进厂时间","value":"14:08:58"},{"key":"出厂时间","value":"14:08:59"},{"key":"产品名称","value":"纯工厂纸边"},{"key":"毛重","value":"4963.00 (公斤)"},{"key":"皮重","value":"3474.00 (公斤)"},{"key":"扣重","value":"0.00"},{"key":"总结算重量","value":"1489.00 (公斤)"},{"key":"单价","value":"2.100 公斤/元"},{"key":"总结算金额","value":"3126.90 (元)"},{"key":"定价员","value":"南瓜"}]}],"printDataCmd":[{"type":4,"content":null,"fontSize":null,"skipLine":null},{"type":0,"content":null,"fontSize":2,"skipLine":null},{"type":1,"content":"工厂版打包站","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":2},{"type":1,"content":"收货单","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":2},{"type":0,"content":null,"fontSize":1,"skipLine":null},{"type":5,"content":null,"fontSize":null,"skipLine":null},{"type":1,"content":"磅单号 : S2O22O819OOO12","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":1},{"type":1,"content":"供货人 : 小可爱","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":1},{"type":1,"content":"车牌 : ","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":1},{"type":1,"content":"订单日期 : 2O22-O8-19","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":1},{"type":1,"content":"进厂时间 : 14:O8:58","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":1},{"type":1,"content":"出厂时间 : 14:O8:59","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":1},{"type":1,"content":"产品名称 : 纯工厂纸边","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":1},{"type":1,"content":"毛重 : 4963.OO (公斤)","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":1},{"type":1,"content":"皮重 : 3474.OO (公斤)","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":1},{"type":1,"content":"扣重 : O.OO","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":1},{"type":1,"content":"总结算重量 : 1489.OO (公斤)","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":1},{"type":1,"content":"单价 : 2.1OO 公斤/元","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":1},{"type":1,"content":"总结算金额 : 3126.9O (元)","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":1},{"type":1,"content":"定价员 : 南瓜","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":1},{"type":0,"content":null,"fontSize":1,"skipLine":null},{"type":4,"content":null,"fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":1},{"type":1,"content":"纸通宝在手,废纸买卖不发愁","fontSize":null,"skipLine":null},{"type":2,"content":null,"fontSize":null,"skipLine":0},{"type":3,"content":null,"fontSize":null,"skipLine":10}]}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.193" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:58.850" endtime="20220819 14:08:59.193"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ReceiptOrderId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.194" level="INFO">${ReceiptOrderId} = 758006668427661312</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.193" endtime="20220819 14:08:59.194"></status>
|
|
</kw>
|
|
<kw name="Should Be Equal As Strings" library="BuiltIn">
|
|
<doc>Fails if objects are unequal after converting them to strings.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()["message"]}</arg>
|
|
<arg>皮重称重成功,${weightTare}公斤,正在打印磅单</arg>
|
|
</arguments>
|
|
<status status="PASS" starttime="20220819 14:08:59.194" endtime="20220819 14:08:59.194"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{"id":"${ReceiptOrderId}"}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${auditData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.195" level="INFO">${auditData} = {"id":"758006668427661312"}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.195" endtime="20220819 14:08:59.195"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/factory/audit-pass/order</arg>
|
|
<arg>${auditData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.309" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/audit-pass/order
|
|
path_url=/ztb-factory/factory/audit-pass/order
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '27'}
|
|
body=b'{"id":"758006668427661312"}'
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.309" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory/audit-pass/order
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:59 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.309" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.195" endtime="20220819 14:08:59.310"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{"settleType":3,"ids":["${ReceiptOrderId}"]}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${paymentData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.310" level="INFO">${paymentData} = {"settleType":3,"ids":["758006668427661312"]}</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.310" endtime="20220819 14:08:59.310"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/wechat-applet/merge-receiving-pay-order/pay</arg>
|
|
<arg>${paymentData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.473" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/wechat-applet/merge-receiving-pay-order/pay
|
|
path_url=/ztb-factory/wechat-applet/merge-receiving-pay-order/pay
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '45'}
|
|
body=b'{"settleType":3,"ids":["758006668427661312"]}'
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.473" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/wechat-applet/merge-receiving-pay-order/pay
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:59 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.473" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.310" endtime="20220819 14:08:59.473"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:58.252" endtime="20220819 14:08:59.474" critical="yes"></status>
|
|
</test>
|
|
<status status="PASS" starttime="20220819 14:08:58.248" endtime="20220819 14:08:59.474"></status>
|
|
</suite>
|
|
<status status="PASS" starttime="20220819 14:08:58.245" endtime="20220819 14:08:59.476"></status>
|
|
</suite>
|
|
<suite id="s1-s3-s2" name="2-FactoryBackstage" source="/root/ztb-factory-rf-api/002-FactoryReceiptSwipe/2-FactoryBackstage">
|
|
<suite id="s1-s3-s2-s1" name="PaymentOperation" source="/root/ztb-factory-rf-api/002-FactoryReceiptSwipe/2-FactoryBackstage/PaymentOperation.robot">
|
|
<test id="s1-s3-s2-s1-t1" name="PaymentReview">
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>${opsztb}</arg>
|
|
<arg>${ops_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:59.485" level="INFO">Creating Session using : alias=ztbf, url=https://api-ops-ztb-test.qniao.cn, headers={'content-type': 'application/json', 'X-APP-ID': '470236309865238555', 'Authorization': 'Token 6b08add42d6bcf73abb935b2adf83525'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.484" endtime="20220819 14:08:59.485"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/admin/get/agency-payment-order-audit-request-list</arg>
|
|
<arg>params=status=&orderId=${ReceiptOrderId}&pageNum=1&pageSize=10</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.552" level="INFO">GET Request : url=https://api-ops-ztb-test.qniao.cn/ztb-factory/admin/get/agency-payment-order-audit-request-list?status=&orderId=758006668427661312&pageNum=1&pageSize=10
|
|
path_url=/ztb-factory/admin/get/agency-payment-order-audit-request-list?status=&orderId=758006668427661312&pageNum=1&pageSize=10
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'content-type': 'application/json', 'X-APP-ID': '470236309865238555', 'Authorization': 'Token 6b08add42d6bcf73abb935b2adf83525'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.552" level="INFO">GET Response : url=https://api-ops-ztb-test.qniao.cn/ztb-factory/admin/get/agency-payment-order-audit-request-list?status=&orderId=758006668427661312&pageNum=1&pageSize=10
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:59 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers, Origin, Access-Control-Request-Method, Access-Control-Request-Headers', 'Expires': '0', 'X-Frame-Options': 'DENY', 'Pragma': 'no-cache', 'Authorization': '6b08add42d6bcf73abb935b2adf83525', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '1; mode=block', 'Cache-Control': 'no-cache, no-store, max-age=0, must-revalidate'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"id":"758006672575827968","orderId":"758006668427661312","customerEnterpriseId":"738812239011778560","customerEnterpriseName":"武汉市青山区恒志纸业环保打包厂","customerContactsId":null,"customerContactsName":null,"customerContactsMobile":null,"supplierEnterpriseId":null,"supplierEnterpriseName":null,"supplierContactsId":null,"supplierContactsName":null,"supplierContactsMobile":null,"customerFactoryId":"738816441691803648","customerFactoryName":"工厂版打包站","customerLegalPersonName":"张秋生","customerLegalPersonIdCardNo":null,"customerLegalPersonMobile":null,"managementType":1,"isOperatorNoAudit":0,"status":0,"settlePrice":3126.90,"totalPrice":3126.90,"agencyPaymentCreditId":"743840678341120000","settlementMethod":1,"settlementInAccountPeriod":10.00,"overdueSettlement":10.00,"settlementFeeUnit":null,"productName":"纯工厂纸边","createTime":"2022-08-19 14:08:59","remark":null,"settlementPeriod":3,"settleWeight":1489.000,"factoryCustomerId":"136","customerPersonName":"小可爱","settleUnitPrice":2.100,"receivablePrice":null,"overduePrice":null,"accountPeriodReceivePrice":2.57,"waitReceivedPrice":null,"paidPrice":null,"overdueDays":null,"payableStatus":null,"receivableStatus":null,"customerSettleType":1,"auditId":null,"auditName":null,"updateTime":null,"weightAuditTime":"2022-08-19 14:08:59"}],"total":1,"size":10,"current":1,"pages":1}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.553" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.485" endtime="20220819 14:08:59.553"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']['records'][0]}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${AuditId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.554" level="INFO">${AuditId} = 758006672575827968</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.553" endtime="20220819 14:08:59.554"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "id":"${AuditId}", \ \ \ \ "remark":"", \ \ \ \ "status":1 }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${data}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.554" level="INFO">${data} = { "id":"758006672575827968", "remark":"", "status":1 }</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.554" endtime="20220819 14:08:59.554"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/admin/audit/agency-payment-order-audit-request</arg>
|
|
<arg>${data.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.648" level="INFO">POST Request : url=https://api-ops-ztb-test.qniao.cn/ztb-factory/admin/audit/agency-payment-order-audit-request
|
|
path_url=/ztb-factory/admin/audit/agency-payment-order-audit-request
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'content-type': 'application/json', 'X-APP-ID': '470236309865238555', 'Authorization': 'Token 6b08add42d6bcf73abb935b2adf83525', 'Content-Length': '66'}
|
|
body=b'{ "id":"758006672575827968", "remark":"", "status":1 }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.649" level="INFO">POST Response : url=https://api-ops-ztb-test.qniao.cn/ztb-factory/admin/audit/agency-payment-order-audit-request
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:59 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers, Origin, Access-Control-Request-Method, Access-Control-Request-Headers', 'Expires': '0', 'X-Frame-Options': 'DENY', 'Pragma': 'no-cache', 'Authorization': '6b08add42d6bcf73abb935b2adf83525', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '1; mode=block', 'Cache-Control': 'no-cache, no-store, max-age=0, must-revalidate'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.649" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.555" endtime="20220819 14:08:59.649"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:59.484" endtime="20220819 14:08:59.649" critical="yes"></status>
|
|
</test>
|
|
<test id="s1-s3-s2-s1-t2" name="PaymentPayable">
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>${opspsc}</arg>
|
|
<arg>${ops_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:59.651" level="INFO">Creating Session using : alias=ztbf, url=https://api-ops-psc-test.qniao.cn, headers={'content-type': 'application/json', 'X-APP-ID': '470236309865238555', 'Authorization': 'Token 6b08add42d6bcf73abb935b2adf83525'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.650" endtime="20220819 14:08:59.651"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>payment-settlement-center/admin/get/agency-payment-order-payable-list</arg>
|
|
<arg>params=status=&pageNum=1&pageSize=10&orderId=${ReceiptOrderId}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.710" level="INFO">GET Request : url=https://api-ops-psc-test.qniao.cn/payment-settlement-center/admin/get/agency-payment-order-payable-list?status=&pageNum=1&pageSize=10&orderId=758006668427661312
|
|
path_url=/payment-settlement-center/admin/get/agency-payment-order-payable-list?status=&pageNum=1&pageSize=10&orderId=758006668427661312
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'content-type': 'application/json', 'X-APP-ID': '470236309865238555', 'Authorization': 'Token 6b08add42d6bcf73abb935b2adf83525'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.710" level="INFO">GET Response : url=https://api-ops-psc-test.qniao.cn/payment-settlement-center/admin/get/agency-payment-order-payable-list?status=&pageNum=1&pageSize=10&orderId=758006668427661312
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:59 GMT', 'Content-Type': 'application/json;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers', 'Expires': '0', 'X-Frame-Options': 'DENY', 'Pragma': 'no-cache', 'Authorization': '6b08add42d6bcf73abb935b2adf83525', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '1; mode=block', 'Cache-Control': 'no-cache, no-store, max-age=0, must-revalidate'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"createTime":"2022-08-19 14:08:59","updateTime":"2022-08-19 14:08:59","orderTime":"2022-08-19 14:08:58","id":"758006673204973568","orderId":"758006668427661312","auditRequestId":"758006672575827968","customerEnterpriseId":"738812239011778560","customerEnterpriseName":"武汉市青山区恒志纸业环保打包厂","customerContactsId":null,"customerContactsName":null,"customerContactsMobile":null,"supplierEnterpriseId":"511889039549403136","supplierEnterpriseName":"广州千鸟电商科技有限公司","supplierContactsId":null,"supplierContactsName":null,"supplierContactsMobile":null,"customerFactoryId":"738816441691803648","customerFactoryName":"工厂版打包站","customerLegalPersonName":"张秋生","customerLegalPersonIdCardNo":null,"customerLegalPersonMobile":null,"managementType":1,"isOperatorNoAudit":0,"status":0,"settlePrice":3126.90,"totalPrice":3126.90,"agencyPaymentCreditId":"743840678341120000","settlementMethod":"1","settlementInAccountPeriod":10.00,"overdueSettlement":10.00,"accountPeriodReceivePrice":2.57,"settlementFeeUnit":null,"overduePrice":null,"remark":"","settleWeight":1489.000,"productId":"741345072695611392","productName":"纯工厂纸边","factoryCustomerId":"136","customerPersonName":"小可爱","settleUnitPrice":2.100,"overdueDays":null,"settlementPeriod":null,"paymentEnterpriseName":"广州千鸟电商科技有限公司","paymentEnterpriseId":511889039549403136,"paymentEnterpriseTableId":2,"paymentPersonAdminId":"555519207006146560","paymentPersonAdminName":"李甜"}],"total":1,"size":10,"current":1,"orders":[{"column":"create_time","asc":false}],"searchCount":true,"pages":1}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.710" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.651" endtime="20220819 14:08:59.710"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']['records'][0]}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${PayId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.711" level="INFO">${PayId} = 758006673204973568</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.711" endtime="20220819 14:08:59.711"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "id":"${PayId}", \ \ \ \ "isMergePayment":0, \ \ \ \ "auditStatus":1 }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${PayData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.712" level="INFO">${PayData} = { "id":"758006673204973568", "isMergePayment":0, "auditStatus":1 }</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.711" endtime="20220819 14:08:59.712"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>payment-settlement-center/admin/audit/agency-payment-order-payable/${PayId}</arg>
|
|
<arg>${PayData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.815" level="INFO">POST Request : url=https://api-ops-psc-test.qniao.cn/payment-settlement-center/admin/audit/agency-payment-order-payable/758006673204973568
|
|
path_url=/payment-settlement-center/admin/audit/agency-payment-order-payable/758006673204973568
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'content-type': 'application/json', 'X-APP-ID': '470236309865238555', 'Authorization': 'Token 6b08add42d6bcf73abb935b2adf83525', 'Content-Length': '78'}
|
|
body=b'{ "id":"758006673204973568", "isMergePayment":0, "auditStatus":1 }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.815" level="INFO">POST Response : url=https://api-ops-psc-test.qniao.cn/payment-settlement-center/admin/audit/agency-payment-order-payable/758006673204973568
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:59 GMT', 'Content-Type': 'application/json;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers', 'Expires': '0', 'X-Frame-Options': 'DENY', 'Pragma': 'no-cache', 'Authorization': '6b08add42d6bcf73abb935b2adf83525', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '1; mode=block', 'Cache-Control': 'no-cache, no-store, max-age=0, must-revalidate'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.815" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.712" endtime="20220819 14:08:59.815"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:59.650" endtime="20220819 14:08:59.815" critical="yes"></status>
|
|
</test>
|
|
<test id="s1-s3-s2-s1-t3" name="PaymentReceivable">
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>${opspsc}</arg>
|
|
<arg>${ops_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:59.817" level="INFO">Creating Session using : alias=ztbf, url=https://api-ops-psc-test.qniao.cn, headers={'content-type': 'application/json', 'X-APP-ID': '470236309865238555', 'Authorization': 'Token 6b08add42d6bcf73abb935b2adf83525'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.816" endtime="20220819 14:08:59.817"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>/payment-settlement-center/admin/get/agency-payment-order-receivable-list</arg>
|
|
<arg>params=status=0&orderId=${ReceiptOrderId}&pageNum=1&pageSize=10</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.883" level="INFO">GET Request : url=https://api-ops-psc-test.qniao.cn/payment-settlement-center/admin/get/agency-payment-order-receivable-list?status=0&orderId=758006668427661312&pageNum=1&pageSize=10
|
|
path_url=/payment-settlement-center/admin/get/agency-payment-order-receivable-list?status=0&orderId=758006668427661312&pageNum=1&pageSize=10
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'content-type': 'application/json', 'X-APP-ID': '470236309865238555', 'Authorization': 'Token 6b08add42d6bcf73abb935b2adf83525'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.883" level="INFO">GET Response : url=https://api-ops-psc-test.qniao.cn/payment-settlement-center/admin/get/agency-payment-order-receivable-list?status=0&orderId=758006668427661312&pageNum=1&pageSize=10
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:59 GMT', 'Content-Type': 'application/json;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers', 'Expires': '0', 'X-Frame-Options': 'DENY', 'Pragma': 'no-cache', 'Authorization': '6b08add42d6bcf73abb935b2adf83525', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '1; mode=block', 'Cache-Control': 'no-cache, no-store, max-age=0, must-revalidate'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"createTime":"2022-08-19 14:09:00","updateTime":"2022-08-19 14:09:00","id":"758006673834119168","orderId":"758006668427661312","auditRequestId":"758006672575827968","customerEnterpriseId":738812239011778560,"customerEnterpriseName":"武汉市青山区恒志纸业环保打包厂","customerContactsId":null,"customerContactsName":null,"customerContactsMobile":null,"supplierEnterpriseId":"511889039549403136","supplierEnterpriseName":"广州千鸟电商科技有限公司","supplierContactsId":null,"supplierContactsName":null,"supplierContactsMobile":null,"customerFactoryId":"738816441691803648","customerFactoryName":"工厂版打包站","customerLegalPersonName":"张秋生","customerLegalPersonIdCardNo":null,"customerLegalPersonMobile":null,"managementType":1,"isOperatorNoAudit":0,"status":0,"settlePrice":3126.90,"totalPrice":3126.90,"agencyPaymentCreditId":"743840678341120000","settlementMethod":1,"settlementInAccountPeriod":10.00,"overdueSettlement":10.00,"accountPeriodReceivePrice":2.57,"settlementFeeUnit":null,"receivablePrice":3129.47,"overduePrice":0,"realReceivedPrice":null,"receiptVoucher":null,"returnedMoneyDate":null,"accountPeriodEndTime":"2022-08-22 00:00:00","remark":"","factoryCustomerId":"136","customerPersonName":"小可爱","settleWeight":1489.000,"settleUnitPrice":2.100,"overdueDays":0,"settlementPeriod":3,"paymentEnterpriseName":"广州千鸟电商科技有限公司","paymentEnterpriseId":511889039549403136,"paymentEnterpriseTableId":2,"paymentPersonAdminId":"555519207006146560","paymentPersonAdminName":"李甜","isOverdue":0,"factoryCustomerMobile":null,"orderTime":"2022-08-19 14:08:58","productName":"纯工厂纸边","waitReceivablePrice":null}],"total":1,"size":10,"current":1,"orders":[{"column":"create_time","asc":false}],"searchCount":true,"pages":1}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.883" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.817" endtime="20220819 14:08:59.883"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']['records'][0]}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ReceiveId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.884" level="INFO">${ReceiveId} = 758006673834119168</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.883" endtime="20220819 14:08:59.884"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']['records'][0]}</arg>
|
|
<arg>receivablePrice</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${receivablePrice}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.885" level="INFO">${receivablePrice} = 3129.47</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.884" endtime="20220819 14:08:59.885"></status>
|
|
</kw>
|
|
<kw name="Get Current Date" library="DateTime">
|
|
<doc>Returns current local or UTC time with an optional increment.</doc>
|
|
<arguments>
|
|
<arg>result_format=%Y-%m-%d</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${Time}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.886" level="INFO">${Time} = 2022-08-19</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.885" endtime="20220819 14:08:59.886"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "id":"${ReceiveId}", \ \ \ \ "realReceivedPrice":"${receivablePrice}", \ \ \ \ "realReceivedTime":"${Time}" }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ReceiveData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.887" level="INFO">${ReceiveData} = { "id":"758006673834119168", "realReceivedPrice":"3129.47", "realReceivedTime":"2022-08-19" }</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.886" endtime="20220819 14:08:59.887"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>payment-settlement-center/admin/comfirm-receive/agency-payment-order-receivable-list</arg>
|
|
<arg>${ReceiveData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.971" level="INFO">POST Request : url=https://api-ops-psc-test.qniao.cn/payment-settlement-center/admin/comfirm-receive/agency-payment-order-receivable-list
|
|
path_url=/payment-settlement-center/admin/comfirm-receive/agency-payment-order-receivable-list
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'content-type': 'application/json', 'X-APP-ID': '470236309865238555', 'Authorization': 'Token 6b08add42d6bcf73abb935b2adf83525', 'Content-Length': '105'}
|
|
body=b'{ "id":"758006673834119168", "realReceivedPrice":"3129.47", "realReceivedTime":"2022-08-19" }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.971" level="INFO">POST Response : url=https://api-ops-psc-test.qniao.cn/payment-settlement-center/admin/comfirm-receive/agency-payment-order-receivable-list
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:08:59 GMT', 'Content-Type': 'application/json;charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers', 'Expires': '0', 'X-Frame-Options': 'DENY', 'Pragma': 'no-cache', 'Authorization': '6b08add42d6bcf73abb935b2adf83525', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '1; mode=block', 'Cache-Control': 'no-cache, no-store, max-age=0, must-revalidate'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:08:59.971" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.887" endtime="20220819 14:08:59.972"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:59.816" endtime="20220819 14:08:59.972" critical="yes"></status>
|
|
</test>
|
|
<status status="PASS" starttime="20220819 14:08:59.480" endtime="20220819 14:08:59.972"></status>
|
|
</suite>
|
|
<status status="PASS" starttime="20220819 14:08:59.477" endtime="20220819 14:08:59.974"></status>
|
|
</suite>
|
|
<status status="PASS" starttime="20220819 14:08:58.242" endtime="20220819 14:08:59.975"></status>
|
|
</suite>
|
|
<suite id="s1-s4" name="003-FactoryOffsite" source="/root/ztb-factory-rf-api/003-FactoryOffsite">
|
|
<suite id="s1-s4-s1" name="1-Client" source="/root/ztb-factory-rf-api/003-FactoryOffsite/1-Client">
|
|
<suite id="s1-s4-s1-s1" name="FactoryOffsite" source="/root/ztb-factory-rf-api/003-FactoryOffsite/1-Client/FactoryOffsite.robot">
|
|
<test id="s1-s4-s1-s1-t1" name="OffsiteOrder">
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>${ztbClient}</arg>
|
|
<arg>${client_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:08:59.995" level="INFO">Creating Session using : alias=ztbf, url=https://api-client-ztb-test.qniao.cn, headers={'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.995" endtime="20220819 14:08:59.996"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>round(random.uniform(${defaultUnitPrice},${highestUnitPrice}),2)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${unitPrice}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.996" level="INFO">${unitPrice} = 5.39</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.996" endtime="20220819 14:08:59.996"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.randint(00000,99999)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${Number}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.997" level="INFO">${Number} = 34123</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.997" endtime="20220819 14:08:59.997"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>粤M${Number}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${plateNumber}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.997" level="INFO">${plateNumber} = 粤M34123</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.997" endtime="20220819 14:08:59.998"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>NP-003</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${equipmentRemark}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:08:59.998" level="INFO">${equipmentRemark} = NP-003</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.998" endtime="20220819 14:08:59.998"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "productCategoryInfos":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "productId":"${categoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "productCategoryName":"${categoryName}", \ \ \ \ \ \ \ \ \ \ \ \ "unitPrice":"${unitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "konePrice":"指导价格:${defaultUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "highestUnitPrice":"${highestUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "lowestUnitPrice":0 \ \ \ \ \ \ \ \ } \ \ \ \ ], \ \ \ \ "predictDeliveryToFactoryTime":null, \ \ \ \ "factoryCustomerId":"${OffsiteCustomerId}", \ \ \ \ "factoryCustomerName":"${Offsitename}", \ \ \ \ "plateNumber":"${plateNumber}", \ \ \ \ "driverId":"${enterpriseMemberId}", \ \ \ \ "driverName":"${enterpriseMemberName}" }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ReceiptData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.000" level="INFO">${ReceiptData} = { "productCategoryInfos":[ { "productId":"741345072695611392", "productCategoryName":"纯工厂纸边", "unitPrice":"5.39", "konePrice":"指导价格:5.0", ...</msg>
|
|
<status status="PASS" starttime="20220819 14:08:59.998" endtime="20220819 14:09:00.000"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/create/scrap-paper-offsite-receipt-order</arg>
|
|
<arg>${ReceiptData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.226" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/create/scrap-paper-offsite-receipt-order
|
|
path_url=/ztb-factory/create/scrap-paper-offsite-receipt-order
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '514'}
|
|
body=b'{ "productCategoryInfos":[ { "productId":"741345072695611392", "productCategoryName":"\xe7\xba\xaf\xe5\xb7\xa5\xe5\x8e\x82\xe7\xba\xb8\xe8\xbe\xb9", "unitPrice":"5.39", "konePrice":"\xe6\x8c\x87\xe5\xaf\xbc\xe4\xbb\xb7\xe6\xa0\xbc\xef\xbc\x9a5.0", "highestUnitPrice":"6.5", "lowestUnitPrice":0 } ], "predictDeliveryToFactoryTime":null, "factoryCustomerId":"133", "factoryCustomerName":"\xe8\x8a\xa6\xe9\x9b\xaa\xe5\xba\xb5", "plateNumber":"\xe7\xb2\xa4M34123", "driverId":"744286805565771776", "driverName":"\xe9\x83\x91\xe5\xad\x90\xe8\x8d\xa3" }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:00.227" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/create/scrap-paper-offsite-receipt-order
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:00 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":true}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:00.227" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.000" endtime="20220819 14:09:00.227"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/get/scrap-paper-offsite-receipt-order-list</arg>
|
|
<arg>params=orderStatus=0&orderType=2&pageNum=1&pageSize=15</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.372" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/get/scrap-paper-offsite-receipt-order-list?orderStatus=0&orderType=2&pageNum=1&pageSize=15
|
|
path_url=/ztb-factory/get/scrap-paper-offsite-receipt-order-list?orderStatus=0&orderType=2&pageNum=1&pageSize=15
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:00.372" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/get/scrap-paper-offsite-receipt-order-list?orderStatus=0&orderType=2&pageNum=1&pageSize=15
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:00 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"orderId":"758006675457314816","factoryCustomerId":"133","factoryCustomerName":"芦雪庵","driverId":"744286805565771776","plateNumber":"粤M34123","orderStatus":0,"createTime":"2022-08-19 14:09:00","factoryCustomerMobile":null,"productCategoryIds":"741345072695611392","productCategoryName":"纯工厂纸边","netWeight":null,"settleWeight":null,"unitPrice":null,"settlePrice":null,"adjustedPrice":null,"orderNumber":"S2022081910003","isModify":0}],"total":1,"size":15,"current":1,"pages":1}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:00.372" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.227" endtime="20220819 14:09:00.372"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>records</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OrderList}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.373" level="INFO">${OrderList} = [{'orderId': '758006675457314816', 'factoryCustomerId': '133', 'factoryCustomerName': '芦雪庵', 'driverId': '744286805565771776', 'plateNumber': '粤M34123', 'orderStatus': 0, 'createTime': '2022-08-19 14:...</msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.373" endtime="20220819 14:09:00.373"></status>
|
|
</kw>
|
|
<kw name="${items} IN [ @{OrderList} ]" type="for">
|
|
<kw name="${items} = {'orderId': '758006675457314816', 'factoryCustomerId': '133', 'factoryCustomerName': '芦雪庵', 'driverId': '744286805565771776', 'plateNumber': '粤M34123', 'orderStatus': 0, 'createTime': '2022-08-19 14:0..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>driverId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${driverId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.374" level="INFO">${driverId} = 744286805565771776</msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.374" endtime="20220819 14:09:00.374"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>orderId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OffsiteOrderId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.375" level="INFO">${OffsiteOrderId} = 758006675457314816</msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.374" endtime="20220819 14:09:00.375"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${driverId}'=='${enterpriseMemberId}'</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:09:00.375" level="INFO">Exiting for loop altogether.</msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.375" endtime="20220819 14:09:00.375"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:09:00.374" endtime="20220819 14:09:00.376"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:09:00.374" endtime="20220819 14:09:00.376"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/get/scrap-paper-offsite-receipt-order-detail</arg>
|
|
<arg>params=id=${OffsiteOrderId}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.470" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/get/scrap-paper-offsite-receipt-order-detail?id=758006675457314816
|
|
path_url=/ztb-factory/get/scrap-paper-offsite-receipt-order-detail?id=758006675457314816
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:00.470" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/get/scrap-paper-offsite-receipt-order-detail?id=758006675457314816
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:00 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":{"scrapPaperReceiptId":"758006675457314816","factoryCustomerId":"133","factoryCustomerName":"芦雪庵","plateNumber":"粤M34123","driverId":"744286805565771776","driverName":"郑子荣","operatorId":null,"operatorName":null,"equipmentRemark":null,"predictDeliveryToFactoryTime":null,"totalNetWeight":0,"estimatedTotalAmount":0.0000,"offsiteGrossWeight":null,"offsiteTareWeight":null,"onsideGrossWeight":null,"onsideAndOffsiteDifferences":null,"orderImageList":null,"onsideGrossWeightImageList":null,"operator":"701479226095833088","createTime":"2022-08-19 14:09:00","settleTotalUnitPrice":0,"adjustedPrice":0.00,"settleTotalWeight":null,"orderStatus":0,"productCategoryInfos":[{"scrapPaperPurchaseOrderId":"758006675641864192","productId":"741345072695611392","productCategoryName":"纯工厂纸边","unitPrice":5.390,"grossWeight":null,"tareWeight":null,"netWeight":null,"estimatedAmount":0.0000,"settleUnitPrice":null,"settlePrice":null,"settleWeight":null,"deductPercent":null,"deductWeight":null,"weightNoteImages":null}],"paymentOrderInfo":{"id":null,"orderId":null,"customerEnterpriseId":null,"customerEnterpriseName":null,"customerContactsId":null,"customerContactsName":null,"customerContactsMobile":null,"supplierEnterpriseId":null,"supplierEnterpriseName":null,"supplierContactsId":null,"supplierContactsName":null,"supplierContactsMobile":null,"customerFactoryId":null,"customerFactoryName":null,"customerLegalPersonName":null,"customerLegalPersonIdCardNo":null,"customerLegalPersonMobile":null,"managementType":null,"isOperatorNoAudit":null,"status":null,"settlePrice":null,"totalPrice":null,"agencyPaymentCreditId":null,"settlementMethod":null,"settlementInAccountPeriod":null,"overdueSettlement":null,"settlementFeeUnit":null,"productName":null,"createTime":null,"remark":null,"settlementPeriod":null,"settleWeight":null,"factoryCustomerId":null,"customerPersonName":null,"settleUnitPrice":null,"receivablePrice":null,"overduePrice":null,"accountPeriodReceivePrice":null,"waitReceivedPrice":null,"paidPrice":0,"overdueDays":null,"payableStatus":null,"receivableStatus":null,"customerSettleType":null,"auditId":null,"auditName":null,"updateTime":null,"weightAuditTime":null},"paymentOrderLog":[],"orderNumber":"S2022081910003","paymentImageList":null,"orderPlacerId":null,"orderPlacerName":null,"canRevocation":0,"remark":null}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:00.470" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.376" endtime="20220819 14:09:00.470"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']['productCategoryInfos'][0]}</arg>
|
|
<arg>scrapPaperPurchaseOrderId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${scrapPaperPurchaseOrderId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.471" level="INFO">${scrapPaperPurchaseOrderId} = 758006675641864192</msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.471" endtime="20220819 14:09:00.471"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.randint(200,500)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${offsiteTareWeight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.472" level="INFO">${offsiteTareWeight} = 336</msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.472" endtime="20220819 14:09:00.472"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.randint(500,1500)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${offsiteGrossWeight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.473" level="INFO">${offsiteGrossWeight} = 1078</msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.472" endtime="20220819 14:09:00.473"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>${offsiteGrossWeight}-${offsiteTareWeight}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${netWeight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.473" level="INFO">${netWeight} = 742</msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.473" endtime="20220819 14:09:00.473"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "scrapPaperReceiptId":"${OffsiteOrderId}", \ \ \ \ "offsiteGrossWeight":"${offsiteGrossWeight}", \ \ \ \ "offsiteTareWeight":"${offsiteTareWeight}", \ \ \ \ "weightNoteList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "grossWeight":null, \ \ \ \ \ \ \ \ \ \ \ \ "tareWeight":null, \ \ \ \ \ \ \ \ \ \ \ \ "weightNoteImage":null, \ \ \ \ \ \ \ \ \ \ \ \ "netWeight":"${netWeight}", \ \ \ \ \ \ \ \ \ \ \ \ "scrapPaperPurchaseOrderId":"${scrapPaperPurchaseOrderId}" \ \ \ \ \ \ \ \ } \ \ \ \ ], \ \ \ \ "orderImageList":[ \ \ \ \ \ \ \ \ "${Image}", \ \ \ \ \ \ \ \ "${Image}", \ \ \ \ \ \ \ \ "${Image}" \ \ \ \ ] }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ReceiptWeight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.475" level="INFO">${ReceiptWeight} = { "scrapPaperReceiptId":"758006675457314816", "offsiteGrossWeight":"1078", "offsiteTareWeight":"336", "weightNoteList":[ { "grossWeight":null, "tareWeig...</msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.473" endtime="20220819 14:09:00.475"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/submit/scrap-paper-offsite-receipt-weight-note</arg>
|
|
<arg>${ReceiptWeight.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.599" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/submit/scrap-paper-offsite-receipt-weight-note
|
|
path_url=/ztb-factory/submit/scrap-paper-offsite-receipt-weight-note
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '651'}
|
|
body=b'{ "scrapPaperReceiptId":"758006675457314816", "offsiteGrossWeight":"1078", "offsiteTareWeight":"336", "weightNoteList":[ { "grossWeight":null, "tareWeight":null, "weightNoteImage":null, "netWeight":"742", "scrapPaperPurchaseOrderId":"758006675641864192" } ], "orderImageList":[ "https://qncloudtest.oss-cn-shenzhen.aliyuncs.com/common/26273851785097969.png", "https://qncloudtest.oss-cn-shenzhen.aliyuncs.com/common/26273851785097969.png", "https://qncloudtest.oss-cn-shenzhen.aliyuncs.com/common/26273851785097969.png" ] }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:00.600" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/submit/scrap-paper-offsite-receipt-weight-note
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:00 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":true}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:00.600" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.475" endtime="20220819 14:09:00.600"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "scrapPaperReceiptId":"${OffsiteOrderId}", \ \ \ \ "productCategorySettleInfoDtoList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "productId":"${categoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "scrapPaperPurchaseOrderId":"${scrapPaperPurchaseOrderId}", \ \ \ \ \ \ \ \ \ \ \ \ "deductWeight":null, \ \ \ \ \ \ \ \ \ \ \ \ "deductPercent":null, \ \ \ \ \ \ \ \ \ \ \ \ "settleUnitPrice":"${unitPrice}" \ \ \ \ \ \ \ \ } \ \ \ \ ] }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OrderPrice}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.601" level="INFO">${OrderPrice} = { "scrapPaperReceiptId":"758006675457314816", "productCategorySettleInfoDtoList":[ { "productId":"741345072695611392", "scrapPaperPurchaseOrderId":"758006675641...</msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.600" endtime="20220819 14:09:00.602"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/submit/scrap-paper-offsite-receipt-order-price</arg>
|
|
<arg>${OrderPrice.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.746" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/submit/scrap-paper-offsite-receipt-order-price
|
|
path_url=/ztb-factory/submit/scrap-paper-offsite-receipt-order-price
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '330'}
|
|
body=b'{ "scrapPaperReceiptId":"758006675457314816", "productCategorySettleInfoDtoList":[ { "productId":"741345072695611392", "scrapPaperPurchaseOrderId":"758006675641864192", "deductWeight":null, "deductPercent":null, "settleUnitPrice":"5.39" } ] }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:00.746" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/submit/scrap-paper-offsite-receipt-order-price
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:00 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":true}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:00.746" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.602" endtime="20220819 14:09:00.746"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>${offsiteGrossWeight}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${weight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.747" level="INFO">${weight} = 1078</msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.746" endtime="20220819 14:09:00.747"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{"cardNo":"${OffsitecardNo}","weight":${weight}}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${weighData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.747" level="INFO">${weighData} = {"cardNo":"3391895980","weight":1078}</msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.747" endtime="20220819 14:09:00.747"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/factory-customer/save/order</arg>
|
|
<arg>${weighData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.859" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory-customer/save/order
|
|
path_url=/ztb-factory/factory-customer/save/order
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '37'}
|
|
body=b'{"cardNo":"3391895980","weight":1078}'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:00.859" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory-customer/save/order
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:00 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"毛重称重成功,1078公斤,请下地磅","data":{"id":"758006675457314816","factoryCustomerId":null,"productId":null,"weighingType":null,"settleType":null,"totalWeight":1078,"emptyWeight":null,"netWeight":null,"settleWeight":null,"unitPrice":null,"settleUnitPrice":null,"settlePrice":null,"totalPrice":null,"plateNumber":null,"deductPercent":null,"deductWeight":null,"inspectorId":null,"weightAuditorId":null,"status":null,"remark":null,"bankCardNo":null,"bankName":null,"bankBranchName":null,"bangTime":null,"inspectionTime":null,"factoryCustomerName":"芦雪庵","factoryCustomerMobile":null,"isWithoutTare":null,"adjustFee":null,"inspectionPerson":null,"weightAuditorPerson":null,"weightAuditTime":null,"productCategoryName":null,"bussinessFactoryId":null,"productName":null,"auditRemark":null,"createTime":null,"cardNo":"3391895980","message":null,"firstWeight":null,"firstWeightType":null,"firstWeightImageUrls1":null,"firstWeightImageUrls2":null,"secondWeight":null,"secondWeightType":null,"secondWeightImageUrls1":null,"secondWeightImageUrls2":null,"printDataList":null,"printDataCmd":null}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:00.859" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.747" endtime="20220819 14:09:00.859"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${orderId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.860" level="INFO">${orderId} = 758006675457314816</msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.860" endtime="20220819 14:09:00.860"></status>
|
|
</kw>
|
|
<kw name="Set Global Variable" library="BuiltIn">
|
|
<doc>Makes a variable available globally in all tests and suites.</doc>
|
|
<arguments>
|
|
<arg>${orderId}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:09:00.861" level="INFO">${orderId} = 758006675457314816</msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.861" endtime="20220819 14:09:00.861"></status>
|
|
</kw>
|
|
<kw name="Should Be Equal As Strings" library="BuiltIn">
|
|
<doc>Fails if objects are unequal after converting them to strings.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()["message"]}</arg>
|
|
<arg>毛重称重成功,${weight}公斤,请下地磅</arg>
|
|
</arguments>
|
|
<status status="PASS" starttime="20220819 14:09:00.861" endtime="20220819 14:09:00.862"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{"scrapPaperReceiptId":"${OffsiteOrderId}"}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${ReceiptData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.862" level="INFO">${ReceiptData} = {"scrapPaperReceiptId":"758006675457314816"}</msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.862" endtime="20220819 14:09:00.862"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/renew/scrap-paper-offsite-receipt-order-price</arg>
|
|
<arg>${ReceiptData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:00.998" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/renew/scrap-paper-offsite-receipt-order-price
|
|
path_url=/ztb-factory/renew/scrap-paper-offsite-receipt-order-price
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '44'}
|
|
body=b'{"scrapPaperReceiptId":"758006675457314816"}'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:00.999" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/renew/scrap-paper-offsite-receipt-order-price
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:00 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":true}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:00.999" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.862" endtime="20220819 14:09:00.999"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/get/scrap-paper-offsite-receipt-order-list</arg>
|
|
<arg>params=factoryCustomerId=${OffsiteCustomerId}&statusList=4%2C%2042&pageSize=100</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.086" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/get/scrap-paper-offsite-receipt-order-list?factoryCustomerId=133&statusList=4%2C%2042&pageSize=100
|
|
path_url=/ztb-factory/get/scrap-paper-offsite-receipt-order-list?factoryCustomerId=133&statusList=4%2C%2042&pageSize=100
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.087" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/get/scrap-paper-offsite-receipt-order-list?factoryCustomerId=133&statusList=4%2C%2042&pageSize=100
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:01 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"orderId":"758006675457314816","factoryCustomerId":"133","factoryCustomerName":"芦雪庵","driverId":"744286805565771776","plateNumber":"粤M34123","orderStatus":4,"createTime":"2022-08-19 14:09:00","factoryCustomerMobile":null,"productCategoryIds":"741345072695611392","productCategoryName":"纯工厂纸边","netWeight":742.000,"settleWeight":742.000,"unitPrice":null,"settlePrice":3999.380,"adjustedPrice":3999.38,"orderNumber":"S2022081910003","isModify":0}],"total":1,"size":100,"current":1,"pages":1}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.087" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:00.999" endtime="20220819 14:09:01.087"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>records</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${orderList}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.088" level="INFO">${orderList} = [{'orderId': '758006675457314816', 'factoryCustomerId': '133', 'factoryCustomerName': '芦雪庵', 'driverId': '744286805565771776', 'plateNumber': '粤M34123', 'orderStatus': 4, 'createTime': '2022-08-19 14:...</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.088" endtime="20220819 14:09:01.088"></status>
|
|
</kw>
|
|
<kw name="Create List" library="BuiltIn">
|
|
<doc>Returns a list containing given items.</doc>
|
|
<assign>
|
|
<var>${List}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.089" level="INFO">${List} = []</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.088" endtime="20220819 14:09:01.089"></status>
|
|
</kw>
|
|
<kw name="${items} IN [ @{orderList} ]" type="for">
|
|
<kw name="${items} = {'orderId': '758006675457314816', 'factoryCustomerId': '133', 'factoryCustomerName': '芦雪庵', 'driverId': '744286805565771776', 'plateNumber': '粤M34123', 'orderStatus': 4, 'createTime': '2022-08-19 14:0..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>orderId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${orderId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.090" level="INFO">${orderId} = 758006675457314816</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.089" endtime="20220819 14:09:01.090"></status>
|
|
</kw>
|
|
<kw name="Append To List" library="Collections">
|
|
<doc>Adds ``values`` to the end of ``list``.</doc>
|
|
<arguments>
|
|
<arg>${List}</arg>
|
|
<arg>${orderId}</arg>
|
|
</arguments>
|
|
<status status="PASS" starttime="20220819 14:09:01.090" endtime="20220819 14:09:01.090"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:09:01.089" endtime="20220819 14:09:01.090"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:09:01.089" endtime="20220819 14:09:01.090"></status>
|
|
</kw>
|
|
<kw name="Convert To String" library="BuiltIn">
|
|
<doc>Converts the given item to a Unicode string.</doc>
|
|
<arguments>
|
|
<arg>${List}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${str}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.091" level="INFO">${str} = ['758006675457314816']</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.090" endtime="20220819 14:09:01.091"></status>
|
|
</kw>
|
|
<kw name="Replace String" library="String">
|
|
<doc>Replaces ``search_for`` in the given ``string`` with ``replace_with``.</doc>
|
|
<arguments>
|
|
<arg>${str}</arg>
|
|
<arg>'</arg>
|
|
<arg>"</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${List}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.091" level="INFO">${List} = ["758006675457314816"]</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.091" endtime="20220819 14:09:01.091"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "settleType":2, \ \ \ \ "ids":${List}}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${paymentData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.092" level="INFO">${paymentData} = { "settleType":2, "ids":["758006675457314816"]}</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.091" endtime="20220819 14:09:01.092"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/wechat-applet/merge-receiving-pay-order/pay</arg>
|
|
<arg>${paymentData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.250" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/wechat-applet/merge-receiving-pay-order/pay
|
|
path_url=/ztb-factory/wechat-applet/merge-receiving-pay-order/pay
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '55'}
|
|
body=b'{ "settleType":2, "ids":["758006675457314816"]}'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.250" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/wechat-applet/merge-receiving-pay-order/pay
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:01 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.250" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.092" endtime="20220819 14:09:01.250"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:08:59.994" endtime="20220819 14:09:01.250" critical="yes"></status>
|
|
</test>
|
|
<status status="PASS" starttime="20220819 14:08:59.983" endtime="20220819 14:09:01.251"></status>
|
|
</suite>
|
|
<status status="PASS" starttime="20220819 14:08:59.980" endtime="20220819 14:09:01.252"></status>
|
|
</suite>
|
|
<status status="PASS" starttime="20220819 14:08:59.977" endtime="20220819 14:09:01.254"></status>
|
|
</suite>
|
|
<suite id="s1-s5" name="004-FactoryOutOrderManual" source="/root/ztb-factory-rf-api/004-FactoryOutOrderManual">
|
|
<suite id="s1-s5-s1" name="1-Client" source="/root/ztb-factory-rf-api/004-FactoryOutOrderManual/1-Client">
|
|
<suite id="s1-s5-s1-s1" name="FactoryOutbound" source="/root/ztb-factory-rf-api/004-FactoryOutOrderManual/1-Client/FactoryOutbound.robot">
|
|
<test id="s1-s5-s1-s1-t1" name="OutboundOrder">
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>${ztbClient}</arg>
|
|
<arg>${client_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:09:01.265" level="INFO">Creating Session using : alias=ztbf, url=https://api-client-ztb-test.qniao.cn, headers={'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.264" endtime="20220819 14:09:01.265"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.randint(3500,9000)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${netWeight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.266" level="INFO">${netWeight} = 8801</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.266" endtime="20220819 14:09:01.266"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>round(random.uniform(${defaultUnitPrice},${highestUnitPrice}),2)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${unitPrice}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.267" level="INFO">${unitPrice} = 6.5</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.266" endtime="20220819 14:09:01.267"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>${defaultUnitPrice}*1000</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${konePrice}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.267" level="INFO">${konePrice} = 5000.0</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.267" endtime="20220819 14:09:01.267"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.randint(00000,99999)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${Number}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.268" level="INFO">${Number} = 96778</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.268" endtime="20220819 14:09:01.268"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>沪H${Number}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${plateNumber}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.268" level="INFO">${plateNumber} = 沪H96778</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.268" endtime="20220819 14:09:01.268"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>${netWeight}*${unitPrice}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${estimatedAmount}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.269" level="INFO">${estimatedAmount} = 57206.5</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.268" endtime="20220819 14:09:01.269"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "isHandworkOrder":1, \ \ \ \ "estimatedAmount":"${estimatedAmount}", \ \ \ \ "deliveryChannelType":1, \ \ \ \ "factoryDeliveryChannelId":"${ChannelId}", \ \ \ \ "consigneeName":"${ChannelName}", \ \ \ \ "plateNumber":"${plateNumber}", \ \ \ \ "outboundDeliveryOrderProductItemList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "productId":"${categoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "productName":"${categoryName}", \ \ \ \ \ \ \ \ \ \ \ \ "unitPrice":"${unitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "productCategoryId":"${productcategoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "konePrice":"指导价格:${konePrice}", \ \ \ \ \ \ \ \ \ \ \ \ "highestUnitPrice":"${highestUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "lowestUnitPrice":0, \ \ \ \ \ \ \ \ \ \ \ \ "netWeight":"${netWeight}", \ \ \ \ \ \ \ \ \ \ \ \ "settleWeight":null, \ \ \ \ \ \ \ \ \ \ \ \ "deductPercent":null, \ \ \ \ \ \ \ \ \ \ \ \ "estimatedAmount":"${estimatedAmount}" \ \ \ \ \ \ \ \ } \ \ \ \ ], \ \ \ \ "weightNoteImageUrls":[ \ \ \ \ \ ] }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.271" level="INFO">${OutData} = { "isHandworkOrder":1, "estimatedAmount":"57206.5", "deliveryChannelType":1, "factoryDeliveryChannelId":"741366148305653760", "consigneeName":"紫禁城", "plateNumber":"沪H96778", ...</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.269" endtime="20220819 14:09:01.271"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/save/outbound-delivery-order</arg>
|
|
<arg>${OutData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.441" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/save/outbound-delivery-order
|
|
path_url=/ztb-factory/save/outbound-delivery-order
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '749'}
|
|
body=b'{ "isHandworkOrder":1, "estimatedAmount":"57206.5", "deliveryChannelType":1, "factoryDeliveryChannelId":"741366148305653760", "consigneeName":"\xe7\xb4\xab\xe7\xa6\x81\xe5\x9f\x8e", "plateNumber":"\xe6\xb2\xaaH96778", "outboundDeliveryOrderProductItemList":[ { "productId":"741345072695611392", "productName":"\xe7\xba\xaf\xe5\xb7\xa5\xe5\x8e\x82\xe7\xba\xb8\xe8\xbe\xb9", "unitPrice":"6.5", "productCategoryId":"480878211421573206", "konePrice":"\xe6\x8c\x87\xe5\xaf\xbc\xe4\xbb\xb7\xe6\xa0\xbc\xef\xbc\x9a5000.0", "highestUnitPrice":"6.5", "lowestUnitPrice":0, "netWeight":"8801", "settleWeight":null, "deductPercent":null, "estimatedAmount":"57206.5" } ], "weightNoteImageUrls":[ ] }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.441" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/save/outbound-delivery-order
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:01 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":758006680553394176}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.441" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.271" endtime="20220819 14:09:01.441"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/get/outbound-delivery-order-list</arg>
|
|
<arg>params=pageNum=1&pageSize=15&status=0</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.506" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/get/outbound-delivery-order-list?pageNum=1&pageSize=15&status=0
|
|
path_url=/ztb-factory/get/outbound-delivery-order-list?pageNum=1&pageSize=15&status=0
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.507" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/get/outbound-delivery-order-list?pageNum=1&pageSize=15&status=0
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:01 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"id":"758006680553394176","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"701479226095833088","operaterName":"南瓜","weightNoteId":"758006680507256832","deliveryChannelType":1,"consigneeId":"741366148305653760","consigneeName":"紫禁城","productId":"741345072695611392","productName":"纯工厂纸边","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":0,"plateNumber":"沪H96778","driverName":null,"auditorName":null,"auditorId":null,"totalWeight":0.000,"emptyWeight":0.000,"netWeight":0.000,"outboundDeliveryNetWeight":8801.000,"auditTime":null,"createTime":"2022-08-19 14:09:01","firstWeightTime":null,"secondWeightTime":null,"settleUnitPrice":null,"settlePrice":null,"settleWeight":0.000,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":1,"orderNumber":"C202208190009","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharge":0.00,"netIncome":0.00,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"758006680616308736","productId":"741345072695611392","productName":"纯工厂纸边","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":null,"settlementProductName":null,"settlementProductCategoryId":null,"settlementProductCategoryName":null,"totalWeight":null,"emptyWeight":null,"netWeight":8801.000,"paperMillNetWeight":null,"unitPrice":6.500,"settleWeight":null,"settleUnitPrice":null,"settlePrice":null,"estimatedAmount":57206.500000,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"757220693451608064","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"738836214257422336","operaterName":"南瓜","weightNoteId":"757220693422247936","deliveryChannelType":1,"consigneeId":"741366102373830656","consigneeName":"嬛嬛一袅楚宫腰","productId":"741347466523316224","productName":"hinzai测试废废","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":0,"plateNumber":"ppppp","driverName":null,"auditorName":null,"auditorId":null,"totalWeight":3500.000,"emptyWeight":3480.000,"netWeight":null,"outboundDeliveryNetWeight":20.000,"auditTime":null,"createTime":"2022-08-17 10:05:47","firstWeightTime":"2022-08-17 10:05:47","secondWeightTime":"2022-08-17 10:06:11","settleUnitPrice":null,"settlePrice":null,"settleWeight":null,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":0,"orderNumber":"C202208170001","remark":null,"weightImageUrlList":null,"deductPercent":null,"freight":null,"subsidy":null,"proxyPaySurcharge":null,"netIncome":null,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"757236905111851008","productId":"741347466523316224","productName":"hinzai测试废废","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":null,"settlementProductName":null,"settlementProductCategoryId":null,"settlementProductCategoryName":null,"totalWeight":3500.000,"emptyWeight":3480.000,"netWeight":20.000,"paperMillNetWeight":null,"unitPrice":2.600,"settleWeight":null,"settleUnitPrice":null,"settlePrice":null,"estimatedAmount":52.000000,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"756978978828455936","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"701479226095833088","operaterName":"南瓜","weightNoteId":"756978978773929984","deliveryChannelType":1,"consigneeId":"741366047751409664","consigneeName":"流珠姑娘","productId":"741345072695611392","productName":"纯工厂纸边","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":0,"plateNumber":"沪H22222","driverName":null,"auditorName":null,"auditorId":null,"totalWeight":0.000,"emptyWeight":0.000,"netWeight":0.000,"outboundDeliveryNetWeight":5000.000,"auditTime":null,"createTime":"2022-08-16 18:05:18","firstWeightTime":null,"secondWeightTime":null,"settleUnitPrice":null,"settlePrice":null,"settleWeight":0.000,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":1,"orderNumber":"C202208160005","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharge":0.00,"netIncome":0.00,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"756978978924924928","productId":"741345072695611392","productName":"纯工厂纸边","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":null,"settlementProductName":null,"settlementProductCategoryId":null,"settlementProductCategoryName":null,"totalWeight":null,"emptyWeight":null,"netWeight":5000.000,"paperMillNetWeight":null,"unitPrice":2.020,"settleWeight":null,"settleUnitPrice":null,"settlePrice":null,"estimatedAmount":10100.000000,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"756978649198104576","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"701479226095833088","operaterName":"南瓜","weightNoteId":"756978649151967232","deliveryChannelType":1,"consigneeId":"738827790039781376","consigneeName":"测试1号","productId":"741366869373620224","productName":"纸杯纸","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":0,"plateNumber":"沪H22222","driverName":null,"auditorName":null,"auditorId":null,"totalWeight":0.000,"emptyWeight":0.000,"netWeight":0.000,"outboundDeliveryNetWeight":5000.000,"auditTime":null,"createTime":"2022-08-16 18:04:00","firstWeightTime":null,"secondWeightTime":null,"settleUnitPrice":null,"settlePrice":null,"settleWeight":0.000,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":1,"orderNumber":"C202208160004","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharge":0.00,"netIncome":0.00,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"756978649261019136","productId":"741366869373620224","productName":"纸杯纸","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":null,"settlementProductName":null,"settlementProductCategoryId":null,"settlementProductCategoryName":null,"totalWeight":null,"emptyWeight":null,"netWeight":5000.000,"paperMillNetWeight":null,"unitPrice":2.020,"settleWeight":null,"settleUnitPrice":null,"settlePrice":null,"estimatedAmount":10100.000000,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"744648146914775040","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"701479226095833088","operaterName":"南瓜","weightNoteId":"744648146356932608","deliveryChannelType":1,"consigneeId":"741366102373830656","consigneeName":"嬛嬛一袅楚宫腰","productId":"741711066156896256","productName":"不干胶","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":0,"plateNumber":"111111","driverName":null,"auditorName":null,"auditorId":null,"totalWeight":0.000,"emptyWeight":0.000,"netWeight":0.000,"outboundDeliveryNetWeight":10000.000,"auditTime":null,"createTime":"2022-07-13 17:26:59","firstWeightTime":null,"secondWeightTime":null,"settleUnitPrice":null,"settlePrice":null,"settleWeight":0.000,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":1,"orderNumber":"C202207130001","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharge":0.00,"netIncome":0.00,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"744648147057381376","productId":"741711066156896256","productName":"不干胶","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":null,"settlementProductName":null,"settlementProductCategoryId":null,"settlementProductCategoryName":null,"totalWeight":null,"emptyWeight":null,"netWeight":10000.000,"paperMillNetWeight":null,"unitPrice":2.000,"settleWeight":null,"settleUnitPrice":null,"settlePrice":null,"estimatedAmount":20000.000000,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null}],"total":5,"size":15,"current":1,"pages":1}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.507" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.442" endtime="20220819 14:09:01.507"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>records</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${weightNoteList}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.508" level="INFO">${weightNoteList} = [{'id': '758006680553394176', 'factoryId': '738816441691803648', 'agencySellOrderItemId': None, 'operaterId': '701479226095833088', 'operaterName': '南瓜', 'weightNoteId': '758006680507256832', 'deliver...</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.507" endtime="20220819 14:09:01.509"></status>
|
|
</kw>
|
|
<kw name="${items} IN [ @{weightNoteList} ]" type="for">
|
|
<kw name="${items} = {'id': '758006680553394176', 'factoryId': '738816441691803648', 'agencySellOrderItemId': None, 'operaterId': '701479226095833088', 'operaterName': '南瓜', 'weightNoteId': '758006680507256832', 'delivery..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OrderId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.510" level="INFO">${OrderId} = 758006680553394176</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.509" endtime="20220819 14:09:01.510"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>productId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${productId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.510" level="INFO">${productId} = 741345072695611392</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.510" endtime="20220819 14:09:01.510"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${productId}'=='${categoryId}'</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:09:01.511" level="INFO">Exiting for loop altogether.</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.510" endtime="20220819 14:09:01.511"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:09:01.509" endtime="20220819 14:09:01.511"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:09:01.509" endtime="20220819 14:09:01.511"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{"id":"${OrderId}","auditStatus":1}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${auditData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.512" level="INFO">${auditData} = {"id":"758006680553394176","auditStatus":1}</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.511" endtime="20220819 14:09:01.512"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/audit/outbount-delivery-order</arg>
|
|
<arg>${auditData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.634" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/audit/outbount-delivery-order
|
|
path_url=/ztb-factory/audit/outbount-delivery-order
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '43'}
|
|
body=b'{"id":"758006680553394176","auditStatus":1}'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.634" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/audit/outbount-delivery-order
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:01 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.635" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.512" endtime="20220819 14:09:01.635"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/get/outbound-delivery-order-list</arg>
|
|
<arg>params=pageNum=1&pageSize=15&status=1</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.689" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/get/outbound-delivery-order-list?pageNum=1&pageSize=15&status=1
|
|
path_url=/ztb-factory/get/outbound-delivery-order-list?pageNum=1&pageSize=15&status=1
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.690" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/get/outbound-delivery-order-list?pageNum=1&pageSize=15&status=1
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:01 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"id":"758006680553394176","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"701479226095833088","operaterName":"南瓜","weightNoteId":"758006680507256832","deliveryChannelType":1,"consigneeId":"741366148305653760","consigneeName":"紫禁城","productId":"741345072695611392","productName":"纯工厂纸边","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":1,"plateNumber":"沪H96778","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":0.000,"emptyWeight":0.000,"netWeight":0.000,"outboundDeliveryNetWeight":8801.000,"auditTime":"2022-08-19 14:09:02","createTime":"2022-08-19 14:09:01","firstWeightTime":null,"secondWeightTime":null,"settleUnitPrice":null,"settlePrice":null,"settleWeight":0.000,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":1,"orderNumber":"C202208190009","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharge":0.00,"netIncome":0.00,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"758006680616308736","productId":"741345072695611392","productName":"纯工厂纸边","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":null,"settlementProductName":null,"settlementProductCategoryId":null,"settlementProductCategoryName":null,"totalWeight":null,"emptyWeight":null,"netWeight":8801.000,"paperMillNetWeight":null,"unitPrice":6.500,"settleWeight":null,"settleUnitPrice":null,"settlePrice":null,"estimatedAmount":57206.500000,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"757243447424978944","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"738836214257422336","operaterName":"南瓜","weightNoteId":"757243447404007424","deliveryChannelType":1,"consigneeId":"741366230186856448","consigneeName":"卫临","productId":"741711135404855296","productName":"口杯纸","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":1,"plateNumber":"99999","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":4560.000,"emptyWeight":2100.000,"netWeight":null,"outboundDeliveryNetWeight":2460.000,"auditTime":"2022-08-17 11:59:06","createTime":"2022-08-17 11:36:12","firstWeightTime":"2022-08-17 11:36:12","secondWeightTime":"2022-08-17 11:36:13","settleUnitPrice":null,"settlePrice":null,"settleWeight":null,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":0,"orderNumber":"C202208170007","remark":null,"weightImageUrlList":null,"deductPercent":null,"freight":null,"subsidy":null,"proxyPaySurcharge":null,"netIncome":null,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"757243756490657792","productId":"741711135404855296","productName":"口杯纸","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":null,"settlementProductName":null,"settlementProductCategoryId":null,"settlementProductCategoryName":null,"totalWeight":4560.000,"emptyWeight":2100.000,"netWeight":2460.000,"paperMillNetWeight":null,"unitPrice":1.500,"settleWeight":null,"settleUnitPrice":null,"settlePrice":null,"estimatedAmount":3690.000000,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"757221427366727680","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"738836214257422336","operaterName":"南瓜","weightNoteId":"757221427341561856","deliveryChannelType":1,"consigneeId":"741365978201460736","consigneeName":"颦儿","productId":"741345072695611392","productName":"纯工厂纸边","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":1,"plateNumber":"川D66666","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":4980.000,"emptyWeight":350.000,"netWeight":null,"outboundDeliveryNetWeight":4630.000,"auditTime":"2022-08-17 11:21:25","createTime":"2022-08-17 10:08:42","firstWeightTime":"2022-08-17 10:08:42","secondWeightTime":"2022-08-17 10:10:51","settleUnitPrice":null,"settlePrice":null,"settleWeight":null,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":0,"orderNumber":"C202208170002","remark":null,"weightImageUrlList":null,"deductPercent":null,"freight":null,"subsidy":null,"proxyPaySurcharge":null,"netIncome":null,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"757228941814665216","productId":"741345072695611392","productName":"纯工厂纸边","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":null,"settlementProductName":null,"settlementProductCategoryId":null,"settlementProductCategoryName":null,"totalWeight":4980.000,"emptyWeight":350.000,"netWeight":4630.000,"paperMillNetWeight":null,"unitPrice":2.500,"settleWeight":null,"settleUnitPrice":null,"settlePrice":null,"estimatedAmount":11575.000000,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"756979600667578368","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"701479226095833088","operaterName":"南瓜","weightNoteId":"756979600625635328","deliveryChannelType":1,"consigneeId":"738827790039781376","consigneeName":"测试1号","productId":"741711213142085632","productName":"白卡","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":1,"plateNumber":"沪H22222","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":0.000,"emptyWeight":0.000,"netWeight":0.000,"outboundDeliveryNetWeight":5000.000,"auditTime":"2022-08-16 18:07:47","createTime":"2022-08-16 18:07:46","firstWeightTime":null,"secondWeightTime":null,"settleUnitPrice":null,"settlePrice":null,"settleWeight":0.000,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":1,"orderNumber":"C202208160008","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharge":0.00,"netIncome":0.00,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"756979600734687232","productId":"741711213142085632","productName":"白卡","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":null,"settlementProductName":null,"settlementProductCategoryId":null,"settlementProductCategoryName":null,"totalWeight":null,"emptyWeight":null,"netWeight":5000.000,"paperMillNetWeight":null,"unitPrice":2.020,"settleWeight":null,"settleUnitPrice":null,"settlePrice":null,"estimatedAmount":10100.000000,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"756979343577714688","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"701479226095833088","operaterName":"南瓜","weightNoteId":"756979343523188736","deliveryChannelType":1,"consigneeId":"741366047751409664","consigneeName":"流珠姑娘","productId":"741347466523316224","productName":"hinzai测试废废","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":1,"plateNumber":"沪H22222","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":0.000,"emptyWeight":0.000,"netWeight":0.000,"outboundDeliveryNetWeight":5000.000,"auditTime":"2022-08-16 18:06:45","createTime":"2022-08-16 18:06:45","firstWeightTime":null,"secondWeightTime":null,"settleUnitPrice":null,"settlePrice":null,"settleWeight":0.000,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":1,"orderNumber":"C202208160007","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharge":0.00,"netIncome":0.00,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"756979343661600768","productId":"741347466523316224","productName":"hinzai测试废废","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":null,"settlementProductName":null,"settlementProductCategoryId":null,"settlementProductCategoryName":null,"totalWeight":null,"emptyWeight":null,"netWeight":5000.000,"paperMillNetWeight":null,"unitPrice":2.020,"settleWeight":null,"settleUnitPrice":null,"settlePrice":null,"estimatedAmount":10100.000000,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"756979141747806208","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"701479226095833088","operaterName":"南瓜","weightNoteId":"756979141705863168","deliveryChannelType":1,"consigneeId":"741366047751409664","consigneeName":"流珠姑娘","productId":"740621805735251968","productName":"纸筒","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":1,"plateNumber":"沪H22222","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":0.000,"emptyWeight":0.000,"netWeight":0.000,"outboundDeliveryNetWeight":5000.000,"auditTime":"2022-08-16 18:05:57","createTime":"2022-08-16 18:05:57","firstWeightTime":null,"secondWeightTime":null,"settleUnitPrice":null,"settlePrice":null,"settleWeight":0.000,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":1,"orderNumber":"C202208160006","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharge":0.00,"netIncome":0.00,"salesGuy":null,"unlo... (set the log level to DEBUG or TRACE to see the full content)
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.690" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.635" endtime="20220819 14:09:01.690"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>records</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${deliveryList}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.692" level="INFO">${deliveryList} = [{'id': '758006680553394176', 'factoryId': '738816441691803648', 'agencySellOrderItemId': None, 'operaterId': '701479226095833088', 'operaterName': '南瓜', 'weightNoteId': '758006680507256832', 'deliver...</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.690" endtime="20220819 14:09:01.692"></status>
|
|
</kw>
|
|
<kw name="${items} IN [ @{deliveryList} ]" type="for">
|
|
<kw name="${items} = {'id': '758006680553394176', 'factoryId': '738816441691803648', 'agencySellOrderItemId': None, 'operaterId': '701479226095833088', 'operaterName': '南瓜', 'weightNoteId': '758006680507256832', 'delivery..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${id}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.692" level="INFO">${id} = 758006680553394176</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.692" endtime="20220819 14:09:01.692"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items['productItemList'][0]}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${productItemId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.693" level="INFO">${productItemId} = 758006680616308736</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.693" endtime="20220819 14:09:01.693"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${id}'=='${OrderId}'</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:09:01.693" level="INFO">Exiting for loop altogether.</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.693" endtime="20220819 14:09:01.694"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:09:01.692" endtime="20220819 14:09:01.694"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:09:01.692" endtime="20220819 14:09:01.694"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.randint(10000,20000)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${paperMillNetWeight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.694" level="INFO">${paperMillNetWeight} = 13960</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.694" endtime="20220819 14:09:01.694"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>round(random.randint(2,10),2)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${deductPercent}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.695" level="INFO">${deductPercent} = 10</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.694" endtime="20220819 14:09:01.695"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>${paperMillNetWeight}-${paperMillNetWeight}*${deductPercent}/1000</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${settleWeight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.695" level="INFO">${settleWeight} = 13820.4</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.695" endtime="20220819 14:09:01.695"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "id":"${OrderId}", \ \ \ \ "categoryId":"${categoryId}", \ \ \ \ "otherFee":0, \ \ \ \ "subsidy":0, \ \ \ \ "proxyPaySurcharge":0, \ \ \ \ "freight":0, \ \ \ \ "outboundDeliveryOrderProductItemList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "settlementProductId":"${categoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "id":"${productItemId}", \ \ \ \ \ \ \ \ \ \ \ \ "paperMillNetWeight":"${paperMillNetWeight}", \ \ \ \ \ \ \ \ \ \ \ \ "settleWeight":"${settleWeight}", \ \ \ \ \ \ \ \ \ \ \ \ "deductPercent":"${deductPercent}", \ \ \ \ \ \ \ \ \ \ \ \ "settleUnitPrice":"${unitPrice}" \ \ \ \ \ \ \ \ } \ \ \ \ ], \ \ \ \ "factoryId":"${factoryId}" }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${PayData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.697" level="INFO">${PayData} = { "id":"758006680553394176", "categoryId":"741345072695611392", "otherFee":0, "subsidy":0, "proxyPaySurcharge":0, "freight":0, "outboundDeliveryOrderProductItemList":[ ...</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.695" endtime="20220819 14:09:01.697"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/confirm/outbound-delivery-order-receipt</arg>
|
|
<arg>${PayData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.803" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/confirm/outbound-delivery-order-receipt
|
|
path_url=/ztb-factory/confirm/outbound-delivery-order-receipt
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '506'}
|
|
body=b'{ "id":"758006680553394176", "categoryId":"741345072695611392", "otherFee":0, "subsidy":0, "proxyPaySurcharge":0, "freight":0, "outboundDeliveryOrderProductItemList":[ { "settlementProductId":"741345072695611392", "id":"758006680616308736", "paperMillNetWeight":"13960", "settleWeight":"13820.4", "deductPercent":"10", "settleUnitPrice":"6.5" } ], "factoryId":"738816441691803648" }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.803" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/confirm/outbound-delivery-order-receipt
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:01 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.803" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.697" endtime="20220819 14:09:01.803"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:09:01.264" endtime="20220819 14:09:01.804" critical="yes"></status>
|
|
</test>
|
|
<status status="PASS" starttime="20220819 14:09:01.260" endtime="20220819 14:09:01.804"></status>
|
|
</suite>
|
|
<status status="PASS" starttime="20220819 14:09:01.258" endtime="20220819 14:09:01.805"></status>
|
|
</suite>
|
|
<status status="PASS" starttime="20220819 14:09:01.255" endtime="20220819 14:09:01.807"></status>
|
|
</suite>
|
|
<suite id="s1-s6" name="005-FactoryOutSwipe" source="/root/ztb-factory-rf-api/005-FactoryOutSwipe">
|
|
<suite id="s1-s6-s1" name="1-Client" source="/root/ztb-factory-rf-api/005-FactoryOutSwipe/1-Client">
|
|
<suite id="s1-s6-s1-s1" name="FactoryOutbound" source="/root/ztb-factory-rf-api/005-FactoryOutSwipe/1-Client/FactoryOutbound.robot">
|
|
<test id="s1-s6-s1-s1-t1" name="OutboundDeviceOrder">
|
|
<kw name="Create Session" library="RequestsLibrary">
|
|
<doc>Create Session: create a HTTP session to a server</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>${ztbClient}</arg>
|
|
<arg>${client_header}</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:09:01.817" level="INFO">Creating Session using : alias=ztbf, url=https://api-client-ztb-test.qniao.cn, headers={'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}, cookies={}, auth=None, timeout=None, proxies=None, verify=False, debug=0 </msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.817" endtime="20220819 14:09:01.818"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.randint(500,3000)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutFirstWeight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.818" level="INFO">${OutFirstWeight} = 1901</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.818" endtime="20220819 14:09:01.818"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "cardNo":"${OutCarNo}", \ \ \ \ "weight":"${OutFirstWeight}" }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutFirstWeightData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.819" level="INFO">${OutFirstWeightData} = { "cardNo":"2836625596", "weight":"1901" }</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.818" endtime="20220819 14:09:01.819"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/factory-customer/save/order</arg>
|
|
<arg>${OutFirstWeightData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.963" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory-customer/save/order
|
|
path_url=/ztb-factory/factory-customer/save/order
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '50'}
|
|
body=b'{ "cardNo":"2836625596", "weight":"1901" }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.964" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory-customer/save/order
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:01 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"第一次过磅成功,1901公斤,请下地磅","data":{"id":"758006682784763904","factoryCustomerId":null,"productId":null,"weighingType":null,"settleType":null,"totalWeight":null,"emptyWeight":1901,"netWeight":null,"settleWeight":null,"unitPrice":null,"settleUnitPrice":null,"settlePrice":null,"totalPrice":null,"plateNumber":null,"deductPercent":null,"deductWeight":null,"inspectorId":null,"weightAuditorId":null,"status":null,"remark":null,"bankCardNo":null,"bankName":null,"bankBranchName":null,"bangTime":null,"inspectionTime":null,"factoryCustomerName":"南瓜","factoryCustomerMobile":null,"isWithoutTare":null,"adjustFee":null,"inspectionPerson":null,"weightAuditorPerson":null,"weightAuditTime":null,"productCategoryName":null,"bussinessFactoryId":null,"productName":null,"auditRemark":null,"createTime":"2022-08-19 14:09:01","cardNo":"2836625596","message":null,"firstWeight":1901,"firstWeightType":null,"firstWeightImageUrls1":null,"firstWeightImageUrls2":null,"secondWeight":null,"secondWeightType":null,"secondWeightImageUrls1":null,"secondWeightImageUrls2":null,"printDataList":null,"printDataCmd":null}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:01.964" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.819" endtime="20220819 14:09:01.964"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutWeightId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.965" level="INFO">${OutWeightId} = 758006682784763904</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.964" endtime="20220819 14:09:01.965"></status>
|
|
</kw>
|
|
<kw name="Should Be Equal As Strings" library="BuiltIn">
|
|
<doc>Fails if objects are unequal after converting them to strings.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['message']}</arg>
|
|
<arg>第一次过磅成功,${OutFirstWeight}公斤,请下地磅</arg>
|
|
</arguments>
|
|
<status status="PASS" starttime="20220819 14:09:01.965" endtime="20220819 14:09:01.966"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "orderId":"${OutWeightId}", \ \ \ \ "imageUrl":"${OutboundImage}", \ \ \ \ "index":"1" }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutFirstBinding}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:01.966" level="INFO">${OutFirstBinding} = { "orderId":"758006682784763904", "imageUrl":"https://qncloudtest.oss-cn-shenzhen.aliyuncs.com/common/26273851880141132.jpg", "index":"1" }</msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.966" endtime="20220819 14:09:01.966"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>/ztb-factory/binding/order-image</arg>
|
|
<arg>${OutFirstBinding.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:02.036" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/binding/order-image
|
|
path_url=/ztb-factory/binding/order-image
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '151'}
|
|
body=b'{ "orderId":"758006682784763904", "imageUrl":"https://qncloudtest.oss-cn-shenzhen.aliyuncs.com/common/26273851880141132.jpg", "index":"1" }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:02.037" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/binding/order-image
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:02 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:02.037" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:01.966" endtime="20220819 14:09:02.037"></status>
|
|
</kw>
|
|
<kw name="Sleep" library="BuiltIn">
|
|
<doc>Pauses the test executed for the given time.</doc>
|
|
<arguments>
|
|
<arg>0.5</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:09:02.538" level="INFO">Slept 500 milliseconds</msg>
|
|
<status status="PASS" starttime="20220819 14:09:02.037" endtime="20220819 14:09:02.538"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.randint(3000,5000)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutSecondWeight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:02.539" level="INFO">${OutSecondWeight} = 4115</msg>
|
|
<status status="PASS" starttime="20220819 14:09:02.539" endtime="20220819 14:09:02.539"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "cardNo":"${OutCarNo}", \ \ \ \ "weight":"${OutSecondWeight}" }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutSecondWeightData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:02.540" level="INFO">${OutSecondWeightData} = { "cardNo":"2836625596", "weight":"4115" }</msg>
|
|
<status status="PASS" starttime="20220819 14:09:02.539" endtime="20220819 14:09:02.540"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/factory-customer/save/order</arg>
|
|
<arg>${OutSecondWeightData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:02.641" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory-customer/save/order
|
|
path_url=/ztb-factory/factory-customer/save/order
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '50'}
|
|
body=b'{ "cardNo":"2836625596", "weight":"4115" }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:02.641" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/factory-customer/save/order
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:02 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"第二次过磅成功,4115公斤,请下地磅","data":{"id":"758006682784763904","factoryCustomerId":null,"productId":null,"weighingType":null,"settleType":null,"totalWeight":4115,"emptyWeight":1901.000,"netWeight":2214.000,"settleWeight":null,"unitPrice":null,"settleUnitPrice":null,"settlePrice":null,"totalPrice":null,"plateNumber":null,"deductPercent":null,"deductWeight":null,"inspectorId":null,"weightAuditorId":null,"status":null,"remark":null,"bankCardNo":null,"bankName":null,"bankBranchName":null,"bangTime":null,"inspectionTime":null,"factoryCustomerName":"南瓜","factoryCustomerMobile":null,"isWithoutTare":null,"adjustFee":null,"inspectionPerson":null,"weightAuditorPerson":null,"weightAuditTime":null,"productCategoryName":null,"bussinessFactoryId":null,"productName":null,"auditRemark":null,"createTime":"2022-08-19 14:09:02","cardNo":"2836625596","message":null,"firstWeight":1901.000,"firstWeightType":0,"firstWeightImageUrls1":null,"firstWeightImageUrls2":null,"secondWeight":4115,"secondWeightType":1,"secondWeightImageUrls1":null,"secondWeightImageUrls2":null,"printDataList":null,"printDataCmd":null}}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:02.641" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:02.540" endtime="20220819 14:09:02.642"></status>
|
|
</kw>
|
|
<kw name="Should Be Equal As Strings" library="BuiltIn">
|
|
<doc>Fails if objects are unequal after converting them to strings.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['message']}</arg>
|
|
<arg>第二次过磅成功,${OutSecondWeight}公斤,请下地磅</arg>
|
|
</arguments>
|
|
<status status="PASS" starttime="20220819 14:09:02.642" endtime="20220819 14:09:02.643"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "orderId":"${OutWeightId}", \ \ \ \ "imageUrl":"${OutboundImage}", \ \ \ \ "index":"1" }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutSecondBinding}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:02.643" level="INFO">${OutSecondBinding} = { "orderId":"758006682784763904", "imageUrl":"https://qncloudtest.oss-cn-shenzhen.aliyuncs.com/common/26273851880141132.jpg", "index":"1" }</msg>
|
|
<status status="PASS" starttime="20220819 14:09:02.643" endtime="20220819 14:09:02.643"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>/ztb-factory/binding/order-image</arg>
|
|
<arg>${OutSecondBinding.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:02.723" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/binding/order-image
|
|
path_url=/ztb-factory/binding/order-image
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '151'}
|
|
body=b'{ "orderId":"758006682784763904", "imageUrl":"https://qncloudtest.oss-cn-shenzhen.aliyuncs.com/common/26273851880141132.jpg", "index":"1" }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:02.724" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/binding/order-image
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:02 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:02.724" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:02.643" endtime="20220819 14:09:02.724"></status>
|
|
</kw>
|
|
<kw name="Sleep" library="BuiltIn">
|
|
<doc>Pauses the test executed for the given time.</doc>
|
|
<arguments>
|
|
<arg>0.5</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:09:03.225" level="INFO">Slept 500 milliseconds</msg>
|
|
<status status="PASS" starttime="20220819 14:09:02.724" endtime="20220819 14:09:03.226"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/get/outbound-delivery-order-list</arg>
|
|
<arg>params=pageNum=1&pageSize=15</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.287" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/get/outbound-delivery-order-list?pageNum=1&pageSize=15
|
|
path_url=/ztb-factory/get/outbound-delivery-order-list?pageNum=1&pageSize=15
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:03.288" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/get/outbound-delivery-order-list?pageNum=1&pageSize=15
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:03 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"id":"758006682805735424","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":null,"operaterName":null,"weightNoteId":"758006682784763904","deliveryChannelType":null,"consigneeId":null,"consigneeName":null,"productId":null,"productName":null,"settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":null,"status":4,"plateNumber":"","driverName":null,"auditorName":null,"auditorId":null,"totalWeight":4115.000,"emptyWeight":1901.000,"netWeight":null,"outboundDeliveryNetWeight":2214.000,"auditTime":null,"createTime":"2022-08-19 14:09:02","firstWeightTime":null,"secondWeightTime":null,"settleUnitPrice":null,"settlePrice":null,"settleWeight":null,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":0,"orderNumber":"C202208190010","remark":null,"weightImageUrlList":null,"deductPercent":null,"freight":null,"subsidy":null,"proxyPaySurcharge":null,"netIncome":null,"salesGuy":null,"unloadingTime":null,"productItemList":[],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"758006680553394176","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"701479226095833088","operaterName":"南瓜","weightNoteId":"758006680507256832","deliveryChannelType":1,"consigneeId":"741366148305653760","consigneeName":"紫禁城","productId":"741345072695611392","productName":"纯工厂纸边","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":2,"plateNumber":"沪H96778","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":0.000,"emptyWeight":0.000,"netWeight":13960.000,"outboundDeliveryNetWeight":8801.000,"auditTime":"2022-08-19 14:09:02","createTime":"2022-08-19 14:09:01","firstWeightTime":null,"secondWeightTime":null,"settleUnitPrice":null,"settlePrice":89832.60,"settleWeight":13820.400,"unitPrice":null,"receiptTime":"2022-08-19 14:09:02","receiptPersonName":"南瓜","isHandworkOrder":1,"orderNumber":"C202208190009","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharge":0.00,"netIncome":89832.60,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"758006680616308736","productId":"741345072695611392","productName":"纯工厂纸边","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":"741345072695611392","settlementProductName":"纯工厂纸边","settlementProductCategoryId":"101010101","settlementProductCategoryName":"废纸","totalWeight":null,"emptyWeight":null,"netWeight":8801.000,"paperMillNetWeight":13960.000,"unitPrice":6.500,"settleWeight":13820.400000,"settleUnitPrice":6.500,"settlePrice":89832.600000,"estimatedAmount":57206.500000,"deductPercent":1.000,"deductWeight":139.600,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"758006186695069696","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"738836214257422336","operaterName":"南瓜","weightNoteId":"758006186674098176","deliveryChannelType":1,"consigneeId":"741366102373830656","consigneeName":"嬛嬛一袅楚宫腰","productId":"741711213142085632","productName":"白卡","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":2,"plateNumber":"川F90676","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":3741.000,"emptyWeight":1915.000,"netWeight":11495.000,"outboundDeliveryNetWeight":1826.000,"auditTime":"2022-08-19 14:07:05","createTime":"2022-08-19 14:07:04","firstWeightTime":"2022-08-19 14:07:04","secondWeightTime":"2022-08-19 14:07:04","settleUnitPrice":null,"settlePrice":27564.44,"settleWeight":11437.525,"unitPrice":null,"receiptTime":"2022-08-19 14:07:05","receiptPersonName":"南瓜","isHandworkOrder":0,"orderNumber":"C202208190008","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharge":0.00,"netIncome":27564.44,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"758006193133326336","productId":"741711213142085632","productName":"白卡","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":"741711213142085632","settlementProductName":"白卡","settlementProductCategoryId":"101010101","settlementProductCategoryName":"废纸","totalWeight":3741.000,"emptyWeight":1915.000,"netWeight":1826.000,"paperMillNetWeight":11495.000,"unitPrice":2.410,"settleWeight":11437.525000,"settleUnitPrice":2.410,"settlePrice":27564.435250,"estimatedAmount":4400.660000,"deductPercent":0.500,"deductWeight":57.475,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"758006184530808832","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"701479226095833088","operaterName":"南瓜","weightNoteId":"758006184480477184","deliveryChannelType":1,"consigneeId":"741366102373830656","consigneeName":"嬛嬛一袅楚宫腰","productId":"741711213142085632","productName":"白卡","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":2,"plateNumber":"沪H90574","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":0.000,"emptyWeight":0.000,"netWeight":19834.000,"outboundDeliveryNetWeight":5565.000,"auditTime":"2022-08-19 14:07:03","createTime":"2022-08-19 14:07:03","firstWeightTime":null,"secondWeightTime":null,"settleUnitPrice":null,"settlePrice":45495.82,"settleWeight":19695.162,"unitPrice":null,"receiptTime":"2022-08-19 14:07:03","receiptPersonName":"南瓜","isHandworkOrder":1,"orderNumber":"C202208190007","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharge":0.00,"netIncome":45495.82,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"758006184602112000","productId":"741711213142085632","productName":"白卡","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":"741711213142085632","settlementProductName":"白卡","settlementProductCategoryId":"101010101","settlementProductCategoryName":"废纸","totalWeight":null,"emptyWeight":null,"netWeight":5565.000,"paperMillNetWeight":19834.000,"unitPrice":2.310,"settleWeight":19695.162000,"settleUnitPrice":2.310,"settlePrice":45495.824220,"estimatedAmount":12855.150000,"deductPercent":0.700,"deductWeight":138.838,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"758005463412510720","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"738836214257422336","operaterName":"南瓜","weightNoteId":"758005463387344896","deliveryChannelType":1,"consigneeId":"741366441508474880","consigneeName":"有望","productId":"741711066156896256","productName":"不干胶","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":2,"plateNumber":"川F66666","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":4815.000,"emptyWeight":1367.000,"netWeight":15253.000,"outboundDeliveryNetWeight":3448.000,"auditTime":"2022-08-19 14:04:13","createTime":"2022-08-19 14:04:11","firstWeightTime":"2022-08-19 14:04:11","secondWeightTime":"2022-08-19 14:04:12","settleUnitPrice":null,"settlePrice":35068.48,"settleWeight":15115.723,"unitPrice":null,"receiptTime":"2022-08-19 14:04:13","receiptPersonName":"南瓜","isHandworkOrder":0,"orderNumber":"C202208190006","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharge":0.00,"netIncome":35068.48,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"758005469804630016","productId":"741711066156896256","productName":"不干胶","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":"741711066156896256","settlementProductName":"不干胶","settlementProductCategoryId":"101010101","settlementProductCategoryName":"废纸","totalWeight":4815.000,"emptyWeight":1367.000,"netWeight":3448.000,"paperMillNetWeight":15253.000,"unitPrice":2.320,"settleWeight":15115.723000,"settleUnitPrice":2.320,"settlePrice":35068.477360,"estimatedAmount":7999.360000,"deductPercent":0.900,"deductWeight":137.277,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"758004370351722496","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"701479226095833088","operaterName":"南瓜","weightNoteId":"758004370293002240","deliveryChannelType":1,"consigneeId":"741366441508474880","consigneeName":"有望","productId":"741711213142085632","productName":"白卡","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":2,"plateNumber":"沪H78832","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":0.000,"emptyWeight":0.000,"netWeight":19834.000,"outboundDeliveryNetWeight":4355.000,"auditTime":"2022-08-19 13:59:51","createTime":"2022-08-19 13:59:51","firstWeightTime":null,"secondWeightTime":null,"settleUnitPrice":null,"settlePrice":47363.59,"settleWeight":19734.830,"unitPrice":null,"receiptTime":"2022-08-19 13:59:51","receiptPersonName":"南瓜","isHandworkOrder":1,"orderNumber":"C202208190005","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharge":0.00,"netIncome":47363.59,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"758004370427219968","productId":"741711213142085632","productName":"白卡","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":"741711213142085632","settlementProductName":"白卡","settlementProductCategoryId":"1010... (set the log level to DEBUG or TRACE to see the full content)
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:03.288" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.226" endtime="20220819 14:09:03.288"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>records</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutList}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.290" level="INFO">${OutList} = [{'id': '758006682805735424', 'factoryId': '738816441691803648', 'agencySellOrderItemId': None, 'operaterId': None, 'operaterName': None, 'weightNoteId': '758006682784763904', 'deliveryChannelType': N...</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.288" endtime="20220819 14:09:03.290"></status>
|
|
</kw>
|
|
<kw name="${OutInfo} IN [ @{OutList} ]" type="for">
|
|
<kw name="${OutInfo} = {'id': '758006682805735424', 'factoryId': '738816441691803648', 'agencySellOrderItemId': None, 'operaterId': None, 'operaterName': None, 'weightNoteId': '758006682784763904', 'deliveryChannelType': No..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutInfo}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.291" level="INFO">${OutId} = 758006682805735424</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.291" endtime="20220819 14:09:03.291"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutInfo}</arg>
|
|
<arg>status</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${status}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.291" level="INFO">${status} = 4</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.291" endtime="20220819 14:09:03.291"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutInfo}</arg>
|
|
<arg>factoryId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${factoryId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.292" level="INFO">${factoryId} = 738816441691803648</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.291" endtime="20220819 14:09:03.292"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutInfo}</arg>
|
|
<arg>createTime</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${createTime}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.292" level="INFO">${createTime} = 2022-08-19 14:09:02</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.292" endtime="20220819 14:09:03.292"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutInfo}</arg>
|
|
<arg>orderNumber</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${orderNumber}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.292" level="INFO">${orderNumber} = C202208190010</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.292" endtime="20220819 14:09:03.292"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutInfo}</arg>
|
|
<arg>weightNoteId</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${weightNoteId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.293" level="INFO">${weightNoteId} = 758006682784763904</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.292" endtime="20220819 14:09:03.293"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${OutInfo}</arg>
|
|
<arg>outboundDeliveryNetWeight</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${NetWeight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.293" level="INFO">${NetWeight} = 2214.0</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.293" endtime="20220819 14:09:03.293"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${weightNoteId}'=='${OutWeightId}'</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:09:03.294" level="INFO">Exiting for loop altogether.</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.293" endtime="20220819 14:09:03.294"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:09:03.290" endtime="20220819 14:09:03.294"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:09:03.290" endtime="20220819 14:09:03.294"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>round(random.uniform(${defaultUnitPrice},${highestUnitPrice}),2)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${unitPrice}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.294" level="INFO">${unitPrice} = 5.64</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.294" endtime="20220819 14:09:03.294"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.randint(00000,99999)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${Number}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.295" level="INFO">${Number} = 56902</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.295" endtime="20220819 14:09:03.295"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>川F${Number}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${plateNumber}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.295" level="INFO">${plateNumber} = 川F56902</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.295" endtime="20220819 14:09:03.295"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>${unitPrice}*${NetWeight}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${estimatedAmount}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.296" level="INFO">${estimatedAmount} = 12486.96</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.296" endtime="20220819 14:09:03.296"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>${defaultUnitPrice}*1000</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${defaultUnitPrice}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.296" level="INFO">${defaultUnitPrice} = 5.0*1000</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.296" endtime="20220819 14:09:03.296"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "id":"${OutId}", \ \ \ \ "factoryId":"${factoryId}", \ \ \ \ "operaterId":null, \ \ \ \ "operaterName":null, \ \ \ \ "weightNoteId":"${weightNoteId}", \ \ \ \ "deliveryChannelType":1, \ \ \ \ "consigneeId":null, \ \ \ \ "consigneeName":"${ChannelName}", \ \ \ \ "productId":null, \ \ \ \ "productName":null, \ \ \ \ "packageQuantity":null, \ \ \ \ "status":"${status}", \ \ \ \ "plateNumber":"${plateNumber}", \ \ \ \ "driverName":null, \ \ \ \ "auditorName":null, \ \ \ \ "auditorId":null, \ \ \ \ "createTime":"${createTime}", \ \ \ \ "updadeTime":null, \ \ \ \ "agencySellOrderItemId":null, \ \ \ \ "unitPrice":null, \ \ \ \ "totalEstimatedAmount":0, \ \ \ \ "orderNumber":"${orderNumber}", \ \ \ \ "remark":null, \ \ \ \ "isHandworkOrder":0, \ \ \ \ "salesGuy":null, \ \ \ \ "receiptAddress":null, \ \ \ \ "roleName":null, \ \ \ \ "totalWeight":"${OutFirstWeight}", \ \ \ \ "netWeight":"${NetWeight}", \ \ \ \ "emptyWeight":"${OutSecondWeight}", \ \ \ \ "factoryDeliveryChannelId":"${ChannelId}", \ \ \ \ "estimatedAmount":"${estimatedAmount}", \ \ \ \ "outboundDeliveryOrderProductItemList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "productId":"${categoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "productName":"${categoryName}", \ \ \ \ \ \ \ \ \ \ \ \ "unitPrice":"${unitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "productCategoryId":"${productcategoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "konePrice":"指导价格:${defaultUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "highestUnitPrice":"${highestUnitPrice}", \ \ \ \ \ \ \ \ \ \ \ \ "lowestUnitPrice":0, \ \ \ \ \ \ \ \ \ \ \ \ "settleWeight":null, \ \ \ \ \ \ \ \ \ \ \ \ "deductPercent":null, \ \ \ \ \ \ \ \ \ \ \ \ "estimatedAmount":"${estimatedAmount}", \ \ \ \ \ \ \ \ \ \ \ \ "proportionOfProduct":100 \ \ \ \ \ \ \ \ } \ \ \ \ ] }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutboundOrderData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.300" level="INFO">${OutboundOrderData} = { "id":"758006682805735424", "factoryId":"738816441691803648", "operaterId":null, "operaterName":null, "weightNoteId":"758006682784763904", "deliveryChannelType":1, "consig...</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.296" endtime="20220819 14:09:03.300"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/relevancy/weight-note/and/outbound-delivery-order</arg>
|
|
<arg>${OutboundOrderData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.405" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/relevancy/weight-note/and/outbound-delivery-order
|
|
path_url=/ztb-factory/relevancy/weight-note/and/outbound-delivery-order
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '1418'}
|
|
body=b'{ "id":"758006682805735424", "factoryId":"738816441691803648", "operaterId":null, "operaterName":null, "weightNoteId":"758006682784763904", "deliveryChannelType":1, "consigneeId":null, "consigneeName":"\xe7\xb4\xab\xe7\xa6\x81\xe5\x9f\x8e", "productId":null, "productName":null, "packageQuantity":null, "status":"4", "plateNumber":"\xe5\xb7\x9dF56902", "driverName":null, "auditorName":null, "auditorId":null, "createTime":"2022-08-19 14:09:02", "updadeTime":null, "agencySellOrderItemId":null, "unitPrice":null, "totalEstimatedAmount":0, "orderNumber":"C202208190010", "remark":null, "isHandworkOrder":0, "salesGuy":null, "receiptAddress":null, "roleName":null, "totalWeight":"1901", "netWeight":"2214.0", "emptyWeight":"4115", "factoryDeliveryChannelId":"741366148305653760", "estimatedAmount":"12486.96", "outboundDeliveryOrderProductItemList":[ { "productId":"741345072695611392", "productName":"\xe7\xba\xaf\xe5\xb7\xa5\xe5\x8e\x82\xe7\xba\xb8\xe8\xbe\xb9", "unitPrice":"5.64", "productCategoryId":"480878211421573206", "konePrice":"\xe6\x8c\x87\xe5\xaf\xbc\xe4\xbb\xb7\xe6\xa0\xbc\xef\xbc\x9a5.0*1000", "highestUnitPrice":"6.5", "lowestUnitPrice":0, "settleWeight":null, "deductPercent":null, "estimatedAmount":"12486.96", "proportionOfProduct":100 } ] }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:03.405" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/relevancy/weight-note/and/outbound-delivery-order
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:03 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:03.405" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.300" endtime="20220819 14:09:03.405"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{"id":"${OutId}","auditStatus":1}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutAuditData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.406" level="INFO">${OutAuditData} = {"id":"758006682805735424","auditStatus":1}</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.405" endtime="20220819 14:09:03.406"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/audit/outbount-delivery-order</arg>
|
|
<arg>${OutAuditData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.491" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/audit/outbount-delivery-order
|
|
path_url=/ztb-factory/audit/outbount-delivery-order
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '43'}
|
|
body=b'{"id":"758006682805735424","auditStatus":1}'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:03.491" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/audit/outbount-delivery-order
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:03 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:03.492" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.406" endtime="20220819 14:09:03.492"></status>
|
|
</kw>
|
|
<kw name="Get On Session" library="RequestsLibrary">
|
|
<doc>Sends a GET request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/get/outbound-delivery-order-list</arg>
|
|
<arg>params=pageNum=1&pageSize=15&status=1</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.547" level="INFO">GET Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/get/outbound-delivery-order-list?pageNum=1&pageSize=15&status=1
|
|
path_url=/ztb-factory/get/outbound-delivery-order-list?pageNum=1&pageSize=15&status=1
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648'}
|
|
body=None
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:03.547" level="INFO">GET Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/get/outbound-delivery-order-list?pageNum=1&pageSize=15&status=1
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:03 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":{"records":[{"id":"758006682805735424","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"738836214257422336","operaterName":"南瓜","weightNoteId":"758006682784763904","deliveryChannelType":1,"consigneeId":"741366148305653760","consigneeName":"紫禁城","productId":"741345072695611392","productName":"纯工厂纸边","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":1,"plateNumber":"川F56902","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":4115.000,"emptyWeight":1901.000,"netWeight":null,"outboundDeliveryNetWeight":2214.000,"auditTime":"2022-08-19 14:09:03","createTime":"2022-08-19 14:09:02","firstWeightTime":"2022-08-19 14:09:02","secondWeightTime":"2022-08-19 14:09:03","settleUnitPrice":null,"settlePrice":null,"settleWeight":null,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":0,"orderNumber":"C202208190010","remark":null,"weightImageUrlList":null,"deductPercent":null,"freight":null,"subsidy":null,"proxyPaySurcharge":null,"netIncome":null,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"758006688887476224","productId":"741345072695611392","productName":"纯工厂纸边","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":null,"settlementProductName":null,"settlementProductCategoryId":null,"settlementProductCategoryName":null,"totalWeight":4115.000,"emptyWeight":1901.000,"netWeight":2214.000,"paperMillNetWeight":null,"unitPrice":5.640,"settleWeight":null,"settleUnitPrice":null,"settlePrice":null,"estimatedAmount":12486.960000,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"757243447424978944","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"738836214257422336","operaterName":"南瓜","weightNoteId":"757243447404007424","deliveryChannelType":1,"consigneeId":"741366230186856448","consigneeName":"卫临","productId":"741711135404855296","productName":"口杯纸","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":1,"plateNumber":"99999","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":4560.000,"emptyWeight":2100.000,"netWeight":null,"outboundDeliveryNetWeight":2460.000,"auditTime":"2022-08-17 11:59:06","createTime":"2022-08-17 11:36:12","firstWeightTime":"2022-08-17 11:36:12","secondWeightTime":"2022-08-17 11:36:13","settleUnitPrice":null,"settlePrice":null,"settleWeight":null,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":0,"orderNumber":"C202208170007","remark":null,"weightImageUrlList":null,"deductPercent":null,"freight":null,"subsidy":null,"proxyPaySurcharge":null,"netIncome":null,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"757243756490657792","productId":"741711135404855296","productName":"口杯纸","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":null,"settlementProductName":null,"settlementProductCategoryId":null,"settlementProductCategoryName":null,"totalWeight":4560.000,"emptyWeight":2100.000,"netWeight":2460.000,"paperMillNetWeight":null,"unitPrice":1.500,"settleWeight":null,"settleUnitPrice":null,"settlePrice":null,"estimatedAmount":3690.000000,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"757221427366727680","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"738836214257422336","operaterName":"南瓜","weightNoteId":"757221427341561856","deliveryChannelType":1,"consigneeId":"741365978201460736","consigneeName":"颦儿","productId":"741345072695611392","productName":"纯工厂纸边","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":1,"plateNumber":"川D66666","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":4980.000,"emptyWeight":350.000,"netWeight":null,"outboundDeliveryNetWeight":4630.000,"auditTime":"2022-08-17 11:21:25","createTime":"2022-08-17 10:08:42","firstWeightTime":"2022-08-17 10:08:42","secondWeightTime":"2022-08-17 10:10:51","settleUnitPrice":null,"settlePrice":null,"settleWeight":null,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":0,"orderNumber":"C202208170002","remark":null,"weightImageUrlList":null,"deductPercent":null,"freight":null,"subsidy":null,"proxyPaySurcharge":null,"netIncome":null,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"757228941814665216","productId":"741345072695611392","productName":"纯工厂纸边","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":null,"settlementProductName":null,"settlementProductCategoryId":null,"settlementProductCategoryName":null,"totalWeight":4980.000,"emptyWeight":350.000,"netWeight":4630.000,"paperMillNetWeight":null,"unitPrice":2.500,"settleWeight":null,"settleUnitPrice":null,"settlePrice":null,"estimatedAmount":11575.000000,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"756979600667578368","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"701479226095833088","operaterName":"南瓜","weightNoteId":"756979600625635328","deliveryChannelType":1,"consigneeId":"738827790039781376","consigneeName":"测试1号","productId":"741711213142085632","productName":"白卡","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":1,"plateNumber":"沪H22222","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":0.000,"emptyWeight":0.000,"netWeight":0.000,"outboundDeliveryNetWeight":5000.000,"auditTime":"2022-08-16 18:07:47","createTime":"2022-08-16 18:07:46","firstWeightTime":null,"secondWeightTime":null,"settleUnitPrice":null,"settlePrice":null,"settleWeight":0.000,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":1,"orderNumber":"C202208160008","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharge":0.00,"netIncome":0.00,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"756979600734687232","productId":"741711213142085632","productName":"白卡","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":null,"settlementProductName":null,"settlementProductCategoryId":null,"settlementProductCategoryName":null,"totalWeight":null,"emptyWeight":null,"netWeight":5000.000,"paperMillNetWeight":null,"unitPrice":2.020,"settleWeight":null,"settleUnitPrice":null,"settlePrice":null,"estimatedAmount":10100.000000,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"756979343577714688","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"701479226095833088","operaterName":"南瓜","weightNoteId":"756979343523188736","deliveryChannelType":1,"consigneeId":"741366047751409664","consigneeName":"流珠姑娘","productId":"741347466523316224","productName":"hinzai测试废废","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":1,"plateNumber":"沪H22222","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":0.000,"emptyWeight":0.000,"netWeight":0.000,"outboundDeliveryNetWeight":5000.000,"auditTime":"2022-08-16 18:06:45","createTime":"2022-08-16 18:06:45","firstWeightTime":null,"secondWeightTime":null,"settleUnitPrice":null,"settlePrice":null,"settleWeight":0.000,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":1,"orderNumber":"C202208160007","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharge":0.00,"netIncome":0.00,"salesGuy":null,"unloadingTime":null,"productItemList":[{"id":"756979343661600768","productId":"741347466523316224","productName":"hinzai测试废废","productCategoryId":"101010101","productCategoryName":"废纸","settlementProductId":null,"settlementProductName":null,"settlementProductCategoryId":null,"settlementProductCategoryName":null,"totalWeight":null,"emptyWeight":null,"netWeight":5000.000,"paperMillNetWeight":null,"unitPrice":2.020,"settleWeight":null,"settleUnitPrice":null,"settlePrice":null,"estimatedAmount":10100.000000,"deductPercent":null,"deductWeight":null,"proportionOfProduct":100.00,"packageQuantity":null}],"receiptIdList":null,"receiptList":null,"num":null,"receiptAddress":null,"roleName":null},{"id":"756979141747806208","factoryId":"738816441691803648","agencySellOrderItemId":null,"operaterId":"701479226095833088","operaterName":"南瓜","weightNoteId":"756979141705863168","deliveryChannelType":1,"consigneeId":"741366047751409664","consigneeName":"流珠姑娘","productId":"740621805735251968","productName":"纸筒","settlementProductId":null,"settlementProductName":null,"categoryId":null,"categoryName":null,"packageQuantity":0,"status":1,"plateNumber":"沪H22222","driverName":null,"auditorName":"南瓜","auditorId":"701479226095833088","totalWeight":0.000,"emptyWeight":0.000,"netWeight":0.000,"outboundDeliveryNetWeight":5000.000,"auditTime":"2022-08-16 18:05:57","createTime":"2022-08-16 18:05:57","firstWeightTime":null,"secondWeightTime":null,"settleUnitPrice":null,"settlePrice":null,"settleWeight":0.000,"unitPrice":null,"receiptTime":null,"receiptPersonName":null,"isHandworkOrder":1,"orderNumber":"C202208160006","remark":null,"weightImageUrlList":null,"deductPercent":0.00,"freight":0.00,"subsidy":0.00,"proxyPaySurcharg... (set the log level to DEBUG or TRACE to see the full content)
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:03.548" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.492" endtime="20220819 14:09:03.548"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${reps.json()['data']}</arg>
|
|
<arg>records</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${deliveryList}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.550" level="INFO">${deliveryList} = [{'id': '758006682805735424', 'factoryId': '738816441691803648', 'agencySellOrderItemId': None, 'operaterId': '738836214257422336', 'operaterName': '南瓜', 'weightNoteId': '758006682784763904', 'deliver...</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.548" endtime="20220819 14:09:03.550"></status>
|
|
</kw>
|
|
<kw name="${items} IN [ @{deliveryList} ]" type="for">
|
|
<kw name="${items} = {'id': '758006682805735424', 'factoryId': '738816441691803648', 'agencySellOrderItemId': None, 'operaterId': '738836214257422336', 'operaterName': '南瓜', 'weightNoteId': '758006682784763904', 'delivery..." type="foritem">
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${id}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.552" level="INFO">${id} = 758006682805735424</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.551" endtime="20220819 14:09:03.552"></status>
|
|
</kw>
|
|
<kw name="Get From Dictionary" library="Collections">
|
|
<doc>Returns a value from the given ``dictionary`` based on the given ``key``.</doc>
|
|
<arguments>
|
|
<arg>${items['productItemList'][0]}</arg>
|
|
<arg>id</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${productItemId}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.552" level="INFO">${productItemId} = 758006688887476224</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.552" endtime="20220819 14:09:03.552"></status>
|
|
</kw>
|
|
<kw name="Exit For Loop If" library="BuiltIn">
|
|
<doc>Stops executing the enclosing for loop if the ``condition`` is true.</doc>
|
|
<arguments>
|
|
<arg>'${id}'=='${OutId}'</arg>
|
|
</arguments>
|
|
<msg timestamp="20220819 14:09:03.553" level="INFO">Exiting for loop altogether.</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.553" endtime="20220819 14:09:03.553"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:09:03.551" endtime="20220819 14:09:03.553"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:09:03.550" endtime="20220819 14:09:03.553"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>random.randint(10000,20000)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${paperMillNetWeight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.554" level="INFO">${paperMillNetWeight} = 11119</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.553" endtime="20220819 14:09:03.554"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>round(random.randint(2,10),2)</arg>
|
|
<arg>random</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${deductPercent}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.554" level="INFO">${deductPercent} = 2</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.554" endtime="20220819 14:09:03.554"></status>
|
|
</kw>
|
|
<kw name="Evaluate" library="BuiltIn">
|
|
<doc>Evaluates the given expression in Python and returns the results.</doc>
|
|
<arguments>
|
|
<arg>${paperMillNetWeight}-${paperMillNetWeight}*${deductPercent}/1000</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${settleWeight}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.555" level="INFO">${settleWeight} = 11096.762</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.555" endtime="20220819 14:09:03.555"></status>
|
|
</kw>
|
|
<kw name="Set Variable" library="BuiltIn">
|
|
<doc>Returns the given values which can then be assigned to a variables.</doc>
|
|
<arguments>
|
|
<arg>{ \ \ \ \ "id":"${OutId}", \ \ \ \ "categoryId":"${categoryId}", \ \ \ \ "outboundDeliveryOrderProductItemList":[ \ \ \ \ \ \ \ \ { \ \ \ \ \ \ \ \ \ \ \ \ "settlementProductId":"${categoryId}", \ \ \ \ \ \ \ \ \ \ \ \ "id":"${productItemId}", \ \ \ \ \ \ \ \ \ \ \ \ "paperMillNetWeight":"${paperMillNetWeight}", \ \ \ \ \ \ \ \ \ \ \ \ "settleWeight":"${settleWeight}", \ \ \ \ \ \ \ \ \ \ \ \ "deductPercent":"${deductPercent}", \ \ \ \ \ \ \ \ \ \ \ \ "settleUnitPrice":"${unitPrice}" \ \ \ \ \ \ \ \ } \ \ \ \ ] }</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${OutPayData}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.556" level="INFO">${OutPayData} = { "id":"758006682805735424", "categoryId":"741345072695611392", "outboundDeliveryOrderProductItemList":[ { "settlementProductId":"741345072695611392", "id":...</msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.555" endtime="20220819 14:09:03.556"></status>
|
|
</kw>
|
|
<kw name="Post On Session" library="RequestsLibrary">
|
|
<doc>Sends a POST request on a previously created HTTP Session.</doc>
|
|
<arguments>
|
|
<arg>ztbf</arg>
|
|
<arg>ztb-factory/confirm/outbound-delivery-order-receipt</arg>
|
|
<arg>${OutPayData.encode('utf-8')}</arg>
|
|
</arguments>
|
|
<assign>
|
|
<var>${reps}</var>
|
|
</assign>
|
|
<msg timestamp="20220819 14:09:03.653" level="INFO">POST Request : url=https://api-client-ztb-test.qniao.cn/ztb-factory/confirm/outbound-delivery-order-receipt
|
|
path_url=/ztb-factory/confirm/outbound-delivery-order-receipt
|
|
headers={'User-Agent': 'python-requests/2.26.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Authorization': 'QNT iHP4V/g6O5DXHixyNrf7tpO/qkx7j1gsqvbpL1KZGKDHIWHjVr8QNoFSuM4ZFMT0DGmFd5V6+/5Q0Qqmwx7doQ==', 'X-APP-ID': '503258978847953926', 'X-FACTORY-ID': '738816441691803648', 'Content-Length': '391'}
|
|
body=b'{ "id":"758006682805735424", "categoryId":"741345072695611392", "outboundDeliveryOrderProductItemList":[ { "settlementProductId":"741345072695611392", "id":"758006688887476224", "paperMillNetWeight":"11119", "settleWeight":"11096.762", "deductPercent":"2", "settleUnitPrice":"5.64" } ] }'
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:03.654" level="INFO">POST Response : url=https://api-client-ztb-test.qniao.cn/ztb-factory/confirm/outbound-delivery-order-receipt
|
|
status=200, reason=
|
|
headers={'Server': 'nginx/1.16.1', 'Date': 'Fri, 19 Aug 2022 06:09:03 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers'}
|
|
body={"code":0,"message":"successful","data":null}
|
|
</msg>
|
|
<msg timestamp="20220819 14:09:03.654" level="INFO">${reps} = <Response [200]></msg>
|
|
<status status="PASS" starttime="20220819 14:09:03.557" endtime="20220819 14:09:03.654"></status>
|
|
</kw>
|
|
<status status="PASS" starttime="20220819 14:09:01.816" endtime="20220819 14:09:03.654" critical="yes"></status>
|
|
</test>
|
|
<status status="PASS" starttime="20220819 14:09:01.813" endtime="20220819 14:09:03.655"></status>
|
|
</suite>
|
|
<status status="PASS" starttime="20220819 14:09:01.810" endtime="20220819 14:09:03.656"></status>
|
|
</suite>
|
|
<status status="PASS" starttime="20220819 14:09:01.807" endtime="20220819 14:09:03.658"></status>
|
|
</suite>
|
|
<status status="PASS" starttime="20220819 14:08:55.940" endtime="20220819 14:09:03.660"></status>
|
|
</suite>
|
|
<statistics>
|
|
<total>
|
|
<stat pass="14" fail="0">Critical Tests</stat>
|
|
<stat pass="14" fail="0">All Tests</stat>
|
|
</total>
|
|
<tag>
|
|
</tag>
|
|
<suite>
|
|
<stat pass="14" fail="0" id="s1" name="000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe</stat>
|
|
<stat pass="6" fail="0" id="s1-s1" name="000-Data">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.000-Data</stat>
|
|
<stat pass="1" fail="0" id="s1-s1-s1" name="0-BaseUrl">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.000-Data.0-BaseUrl</stat>
|
|
<stat pass="3" fail="0" id="s1-s1-s2" name="1-ClientLogin">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.000-Data.1-ClientLogin</stat>
|
|
<stat pass="1" fail="0" id="s1-s1-s3" name="2-OpsLogin">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.000-Data.2-OpsLogin</stat>
|
|
<stat pass="1" fail="0" id="s1-s1-s4" name="3-Infomation">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.000-Data.3-Infomation</stat>
|
|
<stat pass="1" fail="0" id="s1-s2" name="001-FactoryReceiptManual">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.001-FactoryReceiptManual</stat>
|
|
<stat pass="1" fail="0" id="s1-s2-s1" name="1-Client">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.001-FactoryReceiptManual.1-Client</stat>
|
|
<stat pass="1" fail="0" id="s1-s2-s1-s1" name="FactoryReceipt">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.001-FactoryReceiptManual.1-Client.FactoryReceipt</stat>
|
|
<stat pass="4" fail="0" id="s1-s3" name="002-FactoryReceiptSwipe">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.002-FactoryReceiptSwipe</stat>
|
|
<stat pass="1" fail="0" id="s1-s3-s1" name="1-Client">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.002-FactoryReceiptSwipe.1-Client</stat>
|
|
<stat pass="1" fail="0" id="s1-s3-s1-s1" name="FactoryReceipt">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.002-FactoryReceiptSwipe.1-Client.FactoryReceipt</stat>
|
|
<stat pass="3" fail="0" id="s1-s3-s2" name="2-FactoryBackstage">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.002-FactoryReceiptSwipe.2-FactoryBackstage</stat>
|
|
<stat pass="3" fail="0" id="s1-s3-s2-s1" name="PaymentOperation">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.002-FactoryReceiptSwipe.2-FactoryBackstage.PaymentOperation</stat>
|
|
<stat pass="1" fail="0" id="s1-s4" name="003-FactoryOffsite">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.003-FactoryOffsite</stat>
|
|
<stat pass="1" fail="0" id="s1-s4-s1" name="1-Client">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.003-FactoryOffsite.1-Client</stat>
|
|
<stat pass="1" fail="0" id="s1-s4-s1-s1" name="FactoryOffsite">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.003-FactoryOffsite.1-Client.FactoryOffsite</stat>
|
|
<stat pass="1" fail="0" id="s1-s5" name="004-FactoryOutOrderManual">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.004-FactoryOutOrderManual</stat>
|
|
<stat pass="1" fail="0" id="s1-s5-s1" name="1-Client">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.004-FactoryOutOrderManual.1-Client</stat>
|
|
<stat pass="1" fail="0" id="s1-s5-s1-s1" name="FactoryOutbound">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.004-FactoryOutOrderManual.1-Client.FactoryOutbound</stat>
|
|
<stat pass="1" fail="0" id="s1-s6" name="005-FactoryOutSwipe">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.005-FactoryOutSwipe</stat>
|
|
<stat pass="1" fail="0" id="s1-s6-s1" name="1-Client">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.005-FactoryOutSwipe.1-Client</stat>
|
|
<stat pass="1" fail="0" id="s1-s6-s1-s1" name="FactoryOutbound">000-Data & 001-FactoryReceiptManual & 002-FactoryReceiptSwipe & 003-FactoryOffsite & 004-FactoryOutOrderManual & 005-FactoryOutSwipe.005-FactoryOutSwipe.1-Client.FactoryOutbound</stat>
|
|
</suite>
|
|
</statistics>
|
|
<errors>
|
|
</errors>
|
|
</robot>
|