我在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
答案 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>