爪哇, Maven, Appium, Cucumber
项目结构-包:
测试用例位于软件包功能-使用Cucumber。
测试运行:
现在特性(Cucumber上的测试用例)使用了标记@ios模拟器。通过此标记,Cucumber可以找到带有@Before(value=“@ios simulator”)的类-仅针对ios运行测试。如果您将功能中的所有标签更改为@android,这将在android下运行测试。
问题:选择测试运行的平台-
目标:平台名称必须存储在一个地方,例如在 pom.xml 文件中。Cucumber或其他东西接受这个值并为选定的平台运行测试(通过选择适当的包)。或者通过命令:mvn test-Dandroid-如果使用maven。
Cucumber是对测试运行的响应。但是如何选择更舒适的平台——我不知道。在功能中动态生成标签(从 pom.xml 文件中获取平台名称值)不起作用。
这个任务Maven怎么做,或者cucumber怎么做?有什么想法吗
我建议在您的测试设置中添加如下内容
device = System.getProperty("device");
这将允许您指定通过“iPhone模拟器”或“Android”运行测试的位置。
从命令行中,您将执行以下操作
mvn -Ddevice="Android" test
现在你知道你想在什么类型的设备上运行,你可以设置你正在测试的平台。从那里开始,您的测试可能应该有某种全局的方式来选择元素或者与元素交互,并且可以决定使用哪个版本。
如果您的应用程序确实是混合应用程序,这应该没问题,否则我会在平台的包中保留单独的测试。
我正在使用 junit 并检查测试的包名称以自动执行其他配置。
if (this.getClass().getPackage().toString().contains("ios")) {
platform = iOS;
}