【问题标题】:Start Appium server before test suit start running在测试套件开始运行之前启动 Appium 服务器
【发布时间】:2016-08-23 06:57:48
【问题描述】:

我正在寻找如何从代码运行 Appium 服务器 + 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();

【问题讨论】:

    标签: java android selenium automation appium


    【解决方案1】:

    我建议使用 JunitTestNG 等测试框架。 然后,您将拥有一堆 annotations,它们将由框架引擎处理,以便您能够强调应该在哪个阶段完成 Before 测试、After 测试,或者可以并行完成。

       @BeforeClass
       public void beforeClass() {
          appiumServer.startServer();
       } 
    
       @Test
       public void testCase1() {
          // run test
       }
    

    【讨论】:

      【解决方案2】:

      使用隐式等待

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

      // 60 秒

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

      【讨论】:

        猜你喜欢
        • 2018-01-14
        • 2021-05-20
        • 1970-01-01
        • 2016-11-08
        • 2013-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多