基本上我写了一个叫做的步骤
@When("I go to {url}")
然后我使用功能文件调用它
When I go to http://youtube.com
并且有效
但我想用它来称呼它
When I go to YouTube
css选择器会发生同样的情况(Then logo is visible
看起来比Then div#id.class is visible
更漂亮)
如何将包含此css选择器和网址的地图文件链接为我要使用的步骤的变量? 像这样的东西:
YouTube = "http://youtube.com"
logo = "div#id.class"
我试过这个
def before_all(context):
global YouTube
YouTube = "http://youtube.com"
然后我会在步骤内eval(url)
,但它一直说YouTube没有定义
答案 0 :(得分:1)
您应该使用预定义URL的字典而不是变量。将其添加到您的步骤实现文件中:
websites = {'youtube': 'http://youtube.com', 'somesite': 'http://somesite.com'}
@When("I go to {website}")
def when_i_go_to_website(context, website):
context.url = websites[website]
context.url
将在以下所有步骤中提供。
您可能希望使用try
/ except
包围代码行以捕获KeyErrors。