我需要从机器人框架调用python方法。
def getRandomEmails():
a = ''.join(random.choice(string.ascii_lowercase + string.digits) for i in range(16))
email = a + '@' + 'gmail.com'
return email
此函数编写在EnvVar.py文件中。如何在Robot Framework中使用此方法返回的值。我已经尝试了很多方法,但是没有任何效果。请帮忙。
究竟如何做到这一点你的系统上取决于你的文件是如何组织,如何你已经配置了机器人,但总之,评估从内建库,可以让您从导入的模块任意方法的关键字。
例:
对于此示例,我在当前工作目录中创建了一个名为EnvVar.py的文件。它具有以下内容:
import random, string
def getRandomEmails():
a = ''.join(random.choice(string.ascii_lowercase + string.digits) for i in range(16))
email = a + '@' + 'gmail.com'
return email
然后,我创建了一个名为“ example.robot”的文件,如下所示:
*** Test cases ***
Example
${result}= evaluate EnvVar.getRandomEmails() modules=EnvVar
log result: ${result}
由于默认情况下,当前工作目录不在我的PYTHONPATH上(您的设置可能有所不同),所以我必须告诉机器人在PYTHONPATH上包括当前目录。我可以使用该--pythonpath选项。
$ robot --pythonpath . example.robot
创建关键字库 另一种解决方案是创建您自己的关键字库,以将该函数公开为关键字。
For example, assuming you can import EnvVar, you could write a library named "Util" (Util.py) that creates a keyword that calls this function:
# Util.py
import EnvVar
def get_random_emails():
return EnvVar.getRandomEmails()
You would then use this in a test like any other keyword library:
*** Settings ***
Library Util.py
*** Test Cases ***
Example
${result}= Get Random Emails
log result: ${result}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。