运行测试时禁用appium debug

时间:2015-01-19 16:49:09

标签: ruby rspec appium

我在rspec之上运行我的appium测试,我总是在检查/操作元素时收到调试消息,这实在令人困惑。 有没有办法禁用它?我试图强制功能(debug = false,logLevel =“info”),没有运气。此外,当服务器在非调试模式下运行时,我仍然在测试输出上获得调试消息。

我在开始测试时得到了这个:

     :caps => {
         :platformName => "android",
           :deviceName => "Android Emulator",
    :newCommandTimeout => 999999,
                  :app => "/Users/kriz/Workspace/builds/my_app.apk",
              :noReset => "true",
            :fullReset => "false",
                :debug => "false",
            :log_level => "info"
}
Debug is: true
Device is: android
post /sessionpost /session

4 个答案:

答案 0 :(得分:2)

在desired_capabilities哈希的appium_lib部分中包含debug:false。

desired_capabilities = {
  caps: {
    platformName: "iOS",
    versionNumber: '8.1',
    deviceName: device,
    app: APP_PATH,
  },
  appium_lib: {
    debug: false,
  }
}

这些选项的文档很不完整,但它们至少在代码中得到了很好的评价。 https://github.com/appium/ruby_lib/blob/master/lib/appium_lib/driver.rb

答案 1 :(得分:1)

运行appium时,可以使用--log-level标志通过将级别设置为warn / error来禁止调试消息:

appium --log-level warn

答案 2 :(得分:1)

您可以使用以下对我有用的代码行:

AppiumDriverLocalService service;
AppiumServiceBuilder serviceBuilder;

serviceBuilder = new AppiumServiceBuilder();
        serviceBuilder.usingAnyFreePort();
        serviceBuilder.usingDriverExecutable(new File("/usr/local/bin/node"));
        serviceBuilder.withAppiumJS(new File("/usr/local/bin/appium"));
        serviceBuilder.withLogFile(new File("./appiumLogs/appiumLogs"+System.currentTimeMillis()));

    HashMap<String, String> environment = new HashMap();
    environment.put("PATH", "/usr/local/bin:" + System.getenv("PATH"));
    serviceBuilder.withEnvironment(environment);

    service = AppiumDriverLocalService.buildService(serviceBuilder);
    service.start();
    service.clearOutPutStreams();

它将日志保存在提到的文件路径中,并将清除控制台输出日志。

答案 3 :(得分:0)

在Java中:

在启动Appium服务器时设置以下配置:

<template id="layout_logo_show" inherit_id="website.layout" customize_show="True" name="Show Logo">
    <xpath expr="//header//a[hasclass('navbar-brand')]" position="replace">
        <a href="/" class="navbar-brand logo">
            <span t-field="res_company.logo" t-options="{'widget': 'image'}" role="img" t-att-aria-label="'Logo of %s' % res_company.name" t-att-title="res_company.name" />
        </a>
    </xpath>
</template>