在测试套装开始运行之前启动Appium服务器

时间:2016-08-23 06:57:48

标签: java android selenium automation appium

我正在寻找如何从代码运行Appium server + Android模拟器的建议。 我尝试使用的部分代码位于下方。我在AVD管理器中配置了模拟器并运行了代码,但问题是,由于Android模拟器启动缓慢且脚本没有等待它,这意味着它们中的一部分失败(在模拟器完全加载之前)。怎么可能管理这些东西?

ServerArguments serverArguments = new ServerArguments();
    serverArguments.setArgument("--address", "127.0.0.1");
    serverArguments.setArgument("--port", Integer.valueOf(4723));
    serverArguments.setArgument("--no-reset", true);
    serverArguments.setArgument("--local-timezone", true);
    serverArguments.setArgument("--session-override", true);
    serverArguments.setArgument("--avd", "avdname"));
    serverArguments.setArgument("--app-activity", "appactivity");
    serverArguments.setArgument("--app-pkg", "apppackage");
    serverArguments.setArgument("--platform-name", "Android");
    serverArguments.setArgument("--platform-version", Integer.valueOf(22));
    serverArguments.setArgument("--automation-name", "Appium");
    serverArguments.setArgument("--app", "pathtoapk");

    AppiumServer appiumServer = new AppiumServer(serverArguments);
    appiumServer.startServer();

2 个答案:

答案 0 :(得分:2)

我建议使用JunitTestNG等测试框架。 然后你会有一堆annotations将由框架引擎处理,这样你就可以强调应该进行哪个阶段Before测试,After测试,或者可以全部完成并行。

   @BeforeClass
   public void beforeClass() {
      appiumServer.startServer();
   } 

   @Test
   public void testCase1() {
      // run test
   }

答案 1 :(得分:0)

使用implicitlyWait

driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);

// 60秒

//您可以根据执行速度增加或减少时间