【发布时间】:2018-07-08 07:21:37
【问题描述】:
我试图在登录时通过 Python 中的函数生成一个随机名称。问题是它不将其视为函数,而是将其视为纯文本,尽管我已导入库并明确调用它。这是文件 Generators.py 中的 Python 函数:
import random
letters = [chr(ord('a')+i) for i in range(26)]
def generate_name():
name = ""
for i in range(9):
name = name + random.choice(letters)
return "Testing_Mark[" + name + "]"
这是机器人文件:
*** Settings ***
Library Generators.py
Library Selenium2Library
*** Variables ***
${User} Generators.Generate Name
${Password} 1234
*** Test Cases ***
Organisation Test
Open Browser http://mywebsite.com/login googlechrome
Log In
[Teardown] Close Browser
*** Keywords ***
Log In
Wait Until Page Contains Log in
Input Text //input[@name="name"] ${User}
Input Password //input[@name="password"] ${Password}
Click Button //button[@type="submit"]
Wait Until Element Is Visible //span[@class="alert-description"]
Sleep 3
我做错了什么?我知道 Robot 应该将上述函数识别为关键字,但仍然无法弄清楚为什么不是。两个文件都在同一个文件夹中。
【问题讨论】:
-
我能问一下你为什么要创建自己的,当有一个很好的 FakerLibrary 可以为你做这件事时,还有更多?
-
我不知道有这样的图书馆。我是机器人的新手,但谢谢你的建议,我可能需要这个:)
-
在FakerLibrary Documentation返回的值可以设置你的特定语言环境;即,将其设置为 NL,您会得到荷兰人的名字、街道名称、社会安全号码等。当设置为 DE 时,您会得到相同的结果,但之后是德语。
标签: python selenium robotframework