如何在启动应用程序之前强制webdriver安装应用程序

时间:2016-03-08 15:16:55

标签: javascript node.js webdriver appium

我最近在运行测试之前遇到了有关在设备上安装/更新应用程序的问题。

driver.init(desired)

似乎在初始化新会话时,如果未安装该应用,则会安装该应用。但是,如果已安装较旧版本的应用,则无法对其进行更新。

it('initialise appium session', function(){
    return actionsManager.startSession(desired);
});

it('installs app', function(){
    return actionsManager.installApp(context.desired.app);
});

我已经尝试了上面的代码但是它首先启动了应用程序,然后它似乎没有安装应用程序(我可以在appium端查看日志并立即回复状态200)。 / p>

理想情况下,测试首先清理当前应用,安装新应用并最终启动它。有人能给我一个如何做到这一点的线索吗?谢谢!

ps:我使用mocha作为测试运行器,并在webdriver端使用javascript绑定。 Appium服务器在Mac上运行,我从PC上启动脚本。

1 个答案:

答案 0 :(得分:0)

问题是appium服务器已经使用“--no-reset”参数启动。

Appium的默认行为是在每个新会话中更新应用程序。 “--no-reset”标志阻止它这样做。我最初在我的开发机上使用它,这样我就可以减少每次测试的等待时间。

所以最后在代码中没有任何特定的事情,这只是appium服务器配置的问题。

注意:该标志似乎将在appium 1.5,see documentation上弃用。 仍然可以使用新的“-default-capabilities”标志来设置此行为。