Selenium2library导入,用于在机器人框架中进行关键字访问

时间:2018-08-21 20:36:06

标签: python robotframework

请注意,尝试是为了编写python脚本,而不是在机器人文件中

我有两个文件


api.py

import requests
from robot.libraries.BuiltIn import BuiltIn
from robot.api import logger
from robot.running.model import Keyword

bi = BuiltIn()

class APIRequests:
    ROBOT_LIBRARY_SCOPE = 'TEST CASE'
    def something():
      return "some string/value"

在同一文件夹中,我有另一个文件,该文件是我编写机器人文件的脚本

login.robot

*** Settings ***
Library         BuiltIn
Library         api.py
*** Test Cases ***
Valid Weathercheck:
    ${abc} = something 
    Log to console ${abc}

当我从命令控制台执行时     机器人login.robot 我收到一条错误消息,提示“找不到名称为“ something”的关键字。”

查询2

当我们想使用python中现有的一些现有Web驱动程序模块时,我无法找到所需的文档以了解如何将它们链接/导入为就绪关键字

1 个答案:

答案 0 :(得分:1)

除非类名与文件名相同,否则机器人不会自动创建您的类的实例。在您的情况下,您有一个名为api.py的文件,但类名为APIRequests。您需要将文件名更改为APIRequests.py,将类名更改为api,或者将关键字导入为api.APIRequests

来自robot framework user guide

  

Python类始终位于模块内部。如果实现库的类的名称与模块的名称相同,则Robot Framework允许在导入库时删除类名称。例如,可以将MyLib.py文件中的类MyLib用作仅具有名称MyLib的库。