我们正在做自动化使用Ruby
和Cucumber
。我们有大约80个功能文件,1个web_Steps文件包含所有通用步骤。
我们面临的问题是所有定位器都存在于功能文件中。因此,如果html结构发生变化,那么我们必须更新所有相应文件中的定位器,这非常耗时。例如:
网步:红宝石黄瓜自动化
And /^I fill in "([^"]*)" with "([^"]*)"$/ do |field, value|
fill_in(field, with: value)
end
特性文件:
And I fill in "location" with "Mumbai"
And I fill in "contact_details" with "[email protected]"
因此,如果定位“位置”改为别的东西,然后我们必须更新所有包含定位器的功能文件“的位置“
有没有更好的方法来解决这个问题?
我不知道我是否真的理解你的问题。但是,如果我这样做:你不能创建一个全局变量'$ locator ='location''?所以你只需要改变它,它会改变所有的功能文件。 – fabersky
另外,如果您有许多这些可变变量,则创建一个全局散列并将定位器与合适的键一起存储。 – Grasshopper
你在使用页面对象吗?如果没有,你应该。 – lauda