如何在机器人框架中存储python函数的结果并将其显示在报告中?

时间:2019-07-05 11:21:18

标签: python appium robotframework appium-android python-appium

我正在测试使用蓝牙的应用, 我有一个python函数将其连接到服务器并显示一些字符串。 我想将该字符串存储在变量中,并将其与其他字符串进行比较。

我已经将结果存储在result变量中,但是可以使用它来比较字符串

*** Settings ***
Library         AppiumLibrary     run_on_failure=Capture Page Screenshot
Library         String
Library         bt.py
*** Variable ***
${appium_1}=     http://0.0.0.0:4723/wd/hub
${platform_name}=    android
${platformVersion}=         9
${deviceName}=          b6722e70
${app}=      /home/user/Downloads/pre-prod.apk
${result}
*** Test Cases ***
App_Test_1
[Documentation]    Test Case to Login
Open Application        ${appium_1}     
platformName=${platform_name}       deviceName=${deviceName}        
app=${app}     
Capture Page Screenshot
Click Element   id=com.vendekin:id/intro_btn_skip
Sleep   4
Wait Until Element Is Visible   id=com.vendekin:id/phone
input text      id=com.vendekin:id/phone    
Click Element   id=com.vendekin:id/login
Sleep   5
Wait Until Element Is Visible   id=com.vendekin:id/otp  
Click Element   id=com.vendekin:id/otp
sleep  15
Wait Until Element Is Visible   id=com.vendekin:id/login
Click Element   id=com.vendekin:id/login
Sleep   6
Input Text  id=com.vendekin:id/promocode    010331
sleep   2
click element   id=com.vendekin:id/add
${result}=           connect     29476601-52BE-11CB-8642-D50A896F8D2A
log  ${result}
capture page screenshot
quit application

我希望函数的输出将作为比较的字符串存储在结果中,但显示为“无”。

2 个答案:

答案 0 :(得分:4)

要使变量获取函数的返回值,该函数必须首先将其返回。获得None意味着您的函数没有(或返回文字None:)。

因此connect必须是这样的:

def connect(data):
    output = does_its_magic(data)
    return output

答案 1 :(得分:0)

如果在不使用机器人框架的情况下在本地执行函数,函数将返回什么?