[英]How to call a method from python class to a robot class
我在python文件中有一個方法返回一個值lilke URL。 我希望通過附加環境在機器人框架中調用以啟動測試用例。 下面是我使用過的代碼。
python和機器人文件代碼。 請讓我知道我做錯了什么。 我試圖從python文件中調用方法,將url返回到機器人框架類中,
Environment.py
class TestUrl:
def getBaseUrl(self, env):
if env == 'int':
domain = 'example.com/'
return domain
def getFullUrlForEclaimsHome(self, env, partner):
x = self.getBaseUrl(env)
url = 'https://' + partner + x
print url
return 'https://' + partner + x
test.robot
*** Settings ***
Variables ../../CommonTestClass/Environments.py
*** Variables ***
${browser} chrome
${env} int
${partner} example
${example URL} = call method getFullUrlForEclaimsHome('${env}','${partner}')
*** Keywords ***
Launch the browser
sleep 2s
Open Browser ${example URL} ${browser}
Maximize Browser Window
文件的名稱和類的名稱(根據我的經驗)應該匹配,所以如果文件被稱為“Environments.py”,你的類應該被稱為“環境”,因為一旦你在機器人框架中導入它,你將直接調用方法“getBaseUrl”或“getFullUrlForEclaimsHome”。
另外,你的類定義缺少():
class TestUrl():
例:
我的Python文件名為:Tree.py
from anytree import Node, RenderTree
class Tree ():
def generate_tree (self,db_server,db_table,db_username, db_password):
DO_SOMETHING
def retrieve_tree_info (self,db_server,db_table,db_username, db_password, tree_ID):
DO_SOMETHING
return (SOMETHING)
我的機器人框架文件:
*** Settings ***
Library YOUR_LIBRARY
Resource YOUR_RESOURCE
Library ../External Library/Tree.py #PATH TO YOUR Tree.py FILE
#NOTE: If you use some IDLE (I'm using RED) it give you suggestion about the method name, in my example the IDLE call it in a bit different way than it was called in the python file
*** Variables ***
YOUR_VARIABLE
*** Test Cases ***
Create tree
DO_SOMETHING
${tree}= Retrieve Tree Info ${db_server} ${db_name} ${db_user} ${db_password} ${tree_ID}
DO_SOMETHING
Verify Locations tree
DO_SOMETHING
${tree}= Retrieve Tree Info ${db_server} ${db_name} ${db_user} ${db_password}
DO_SOMETHING
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.