这个功能很想用起来,但是看了代码感觉有点乱,可能是我对这块不熟,
楼主能否整理出一个简单能运行的 demo 版本供学习下。
万分感谢。
成功了,其实挺简单的,从机启 appium 服务器和接手机,主机运行脚本,但是最好先跑简单例子,
我犯了一个错,就是我要主机运行的脚本里有带安装 apk 包,而从机上这个对应的地址没有 apk 包,所以就跑不起来。报错总提示说要用远程服务器,误导我了。
今天测试了下,不成功,楼主因该是在同一台电脑上试的。我在两台电脑上按楼主的方式操作,运行报错。
could not start a new seesion. Possible causes are invalid address of the remote server or browser start-up failure.
我上次也是这样弄的,只是忘记改服务器的地址了,
明天我试下是否可以成功。
#2 楼 @chenhengjie123
试验成功了,分享下给大家学习啊
我们使用的是 java 语言编写脚本,采用 Cucumber + appium 框架,jenkins通过 gradle运行 appium,然后在 jenkins 里配置相关的报告查看。
我用 http://testerhome.com/topics/1864 的方法自动启动了 appium 服务器,
但是 device 就是连接不上,人工启动就可以正常运行,
这是为什么呢?
请教楼主,虽然可以启停 appium,但是运行 appium 后,连接不上设备,是不是在同一个 java 进展里,不能启服务和操作 device 啊?
问题解决了,测试通过。
@RunWith(Cucumber.class)
@CucumberOptions(format = { "json:target/cucumber.json" }, tags = {}, features = { "src/test/resources/features" })
public class RunCukesTest {
@BeforeClass
public static void beforeClass() {
AppUtils.getDriver();
System.out.println("bbbbb1" + System.currentTimeMillis() );
AppiumServer.getInstance().startAppium();
System.out.println("bbbbb2" + System.currentTimeMillis());
}
@AfterClass
public static void afterClass() {
AppUtils.quit();
System.out.println("eeeeee1" + System.currentTimeMillis());
AppiumServer.getInstance().stopAppium();
System.out.println("eeeeee2" + System.currentTimeMillis());
}
}
有个问题请教下楼主,如何在所有用例执行前调用 startAppium,所有用例执行后或者异常时执行 stopAppium