appium log输出时间打印问题

1. 终端启动appium 打印时间
–log-timestamp 终端打印log时 打印时间戳
python appium -p 4723 -bp 4900 -U ff37653d0305 --log-timestamp
在这里插入图片描述
但此时打印的时间不是当前本地实际时间

2. 添加–local-timezone 参数
指定打印当地时间

  appium -p 4723 -bp 4900 -U ff37653d0305  --log-timestamp --local-timezone

在这里插入图片描述</

### 如何使用 Appium 获取应用程序日志 #### 方法概述 为了获取应用程序的日志,可以利用 `driver.getLogs()` API 来访问不同类型的设备日志。此功能允许捕获来自 Android 和 iOS 设备的各种日志条目,包括但不限于应用级别的调试信息。 对于 Android 应用而言,`getLogType()` 可返回多种可用的日志类型,比如 `logcat`, `bugreport` 等;而对于 iOS,则支持如 `syslog` 这样的选项[^2]。 #### Python 实现示例 下面是一个简单的例子,展示了怎样通过 Python 脚本调用上述提到的功能来收集并打印出最近的应用日志: ```python from appium import webdriver desired_caps = { 'platformName': 'Android', # 或者设置为 'iOS' 'deviceName': 'emulator-5554', 'appPackage': 'com.example.package.name', 'appActivity': '.MainActivity' } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) try: logs = driver.get_log('logcat') for entry in logs[-10:]: print(entry['message']) finally: driver.quit() ``` 这段代码首先设置了连接到本地运行的 Appium Server 的参数,并指定了目标平台(这里是 Android)。接着尝试获取最后十条 logcat 日志记录并将它们的消息部分输出出来。注意这里的 `-10:` 是用来限制只取最新的几条日志以便于查看最新发生的事件[^4]。 #### Java 实现示例 同样的操作也可以很容易地在 Java 中实现: ```java import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver; import java.net.URL; import java.util.List; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.logging.LogEntries; import org.openqa.selenium.logging.LogEntry; import org.openqa.selenium.logging.LogType; public class LogExample { public static void main(String[] args) throws Exception{ DesiredCapabilities caps = new DesiredCapabilities(); caps.setCapability("platformName", "Android"); caps.setCapability("deviceName", "emulator-5554"); caps.setCapability("appPackage", "com.example.package.name"); caps.setCapability("appActivity", ".MainActivity"); AndroidDriver<MobileElement> driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), caps); try { Thread.sleep(5000); // Wait a bit to generate some logs List<LogEntry> logEntries = driver.manage().logs().get(LogType.LOGCAT).getAll(); int count = Math.min(logEntries.size(), 10); for (int i=0; i<count ;i++) { System.out.println(logEntries.get(i).getMessage()); } } finally { driver.quit(); } } } ``` 在这个 Java 版本的例子中,同样先配置好与之前相同的环境变量以建立同 Appium server 的会话链接。之后等待五秒让模拟器有时间生成一些日志数据,再从中提取最多十个最新的 `LOGCAT` 类型的日志项进行展示[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值