Как вызвать метод из класса Python в класс робота - PullRequest
0 голосов
/ 28 августа 2018

У меня есть метод в файле 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

1 Ответ

0 голосов
/ 28 августа 2018

имя файла и имя класса (для моего опыта) должны совпадать, поэтому, если файл называется «Environments.py», ваш класс должен называться «Environments», потому что после того, как вы импортируете его в робота Framework вы будете вызывать напрямую метод "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)

Файл MY Robot Framework:

*** 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...