我试图对我在safari上的应用程序进行一些测试自动化,并开始从paypal寻求硒和SeLion的帮助。我注意到SeLion库具有@MobileTest装饰器,但似乎每个测试只能指定一个设备。如果我想同时在iPad和iPhone上测试我的应用,那么编写测试的最佳方法是什么?我基本上只需要编写包装方法,例如

@Test
@MobileTest(appName = "safari", device = "iphone:8.1",
deviceType = "iPhone Simulator")
public void test() {
   commonTest()
}

@Test
@MobileTest(appName = "safari", device = "ipad",
deviceType = "iPad Simulator")
public void test() {
   commonTest()
}


我认为不可能

//test in series?
@Test
@MobileTest(appName = "safari", device = "iphone")
@MobileTest(appName = "safari", device = "ipad",
deviceType = "iPad Simulator")
public void test() {
   commonTest()
}

最佳答案

正确。

您不能在同一Test方法上使用两个MobileTest批注。

另外,在当前的SeLion版本中,没有一种简便的方法可以对多个移动设备使用相同的测试方法。这就是说,当前有一个打开的分支和拉取请求,它将使设备在注解之外可配置-添加了通过testng套件文件,Java系统属性或环境变量指定设备的选项。将此代码加入后,您将有更好的选择。

请按照this PR

10-08 08:52