我可以使用Cucumber标记通过Before钩子将变量传递到env.rb文件吗?

时间:2018-12-03 15:20:47

标签: ruby cucumber

我是android自动化的新手,在使用了ruby,cucumber和appium进行了一些教程之后,我设法获得了针对1个应用程序的基本测试。

我现在正在为我拥有的几个应用开发测试服。所有应用程序都是相同的,但每个应用程序都可以具有特定的不同功能。我的问题是,我不想为每种应用程序类型创建一个新项目,而是对所有应用程序使用相同的项目,并根据我要通过黄瓜运行它的标签运行不同的测试。

例如:

我要使用的正在运行的应用A

“黄瓜-p appA”

在我的hooks.rb文件中:

  

@Before(“ @ appA”)

     

开始之前

     

$ appFile =“ name_of_file_A.apk”

     

$ appPro =“ name_of_profile_A”

     

$ appAct =“ name_of_Act_A”

     

结束

     

@Before(“ @ appB”)

     

开始之前

     

$ appFile =“ name_of_file_B.apk”

     

$ appPro =“ name_of_profile_B”

     

$ appAct =“ name_of_Act_B”

     

结束

在我的env.rb文件中,我具有以下定义:

  

def caps

     

{大写字母:{

     

deviceName:“任意名称”,

     

platformName:“ Android”,

     

app:(File.join(File.dirname( FILE ),“ $ appFile”)),

     

appPackage:“ $ appProf”,

     

appActivity:“ $ appPro”,

     

newCommandTimeout:“ 3600”

     

}      }

     

结束

我假设我以正确的方式使用标记,因为我可以使用标记的钩子,但是我相信我在某个地方出错了,可能是在我的语法中,在hooks.rb或env.rb中,或在这两者中。 任何帮助将不胜感激。

0 个答案:

没有答案