AppiumDriverLocalService 启动appium控制台不显示日志以及把日志保存到本地
import java.io.File;
import java.io.OutputStream;
import java.lang.reflect.Field;
import java.util.ArrayList; import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test; import cn.lebo.appium.base.AndroidCapabilityType;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.service.local.AppiumDriverLocalService;
import io.appium.java_client.service.local.AppiumServiceBuilder; public class NewTest { AppiumDriverLocalService service = null;
AndroidDriver<WebElement> driver = null; @SuppressWarnings("unchecked")
@BeforeClass
public void beforClass() {
Field streamField = null;
Field streamsField = null; service = AppiumDriverLocalService
.buildService(new AppiumServiceBuilder().usingPort(4723).withLogFile(new File("d:\\44555554.txt")));
try {
streamField = AppiumDriverLocalService.class.getDeclaredField("stream");
streamField.setAccessible(true);
streamsField = Class.forName("io.appium.java_client.service.local.ListOutputStream")
.getDeclaredField("streams");
streamsField.setAccessible(true);
} catch (ClassNotFoundException | NoSuchFieldException e) {
e.printStackTrace();
}
try {
((ArrayList<OutputStream>) streamsField.get(streamField.get(service))).clear(); // remove System.out logging
} catch (IllegalAccessException e) {
e.printStackTrace();
} service.start(); DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(AndroidCapabilityType.DEVICE_NAME, "android");
capabilities.setCapability(AndroidCapabilityType.APP_PACKAGE, "com.hpplay.sdk.source.test");
capabilities.setCapability(AndroidCapabilityType.APP_ACTIVITY, "com.hpplay.sdk.source.test.MainActivity");
driver = new AndroidDriver<>(service, capabilities); } @Test
public void demo1() {
System.out.println("执行test");
driver.openNotifications();
System.out.println("执行" + driver.toString());
// driver.manage().logs().get("logcat"); } @AfterClass
public void AfterClass() {
service.stop();
System.out.println("停止test");
} }
AppiumDriverLocalService 启动appium控制台不显示日志以及把日志保存到本地的更多相关文章
- linux tomcat 启动后控制台未显示启动日志
在linux 服务器启动的时候未出现启动日志,这个时候,如果执行startup.sh会出现控制台没有打印任何消息的问题 应该执行: ./catalina.sh run
- springboot启动时控制台不显示映射的URL
背景 今天,第一次使用 2.2.0 版本的springboot,在访问接口时发现访问不到,于是在控制台进行 URL 搜索,发现并相关没有内容 原因 springboot版本差异,切换回 2.0.5.R ...
- log4j 配置,tomcat 启动或有后台操作时,控制台会显示很多 DEBUG 信息
log4j 配置,tomcat 启动或有后台操作时,控制台会显示很多 DEBUG 信息 日志信息可以以文件形式显示,也可以在控制台输出,在 log4j.properties 文件设置. 控制台有很多 ...
- MyBatis 最常见错误,启动时控制台无限输出日志
你是否遇到过下面的情况,控制台无限的输出下面的日志: Logging initialized using ‘class org.apache.ibatis.logging.log4j.Log4jImp ...
- idea操作maven时控制台中文显示乱码/maven项目启动方式
在idea中通过maven启动项目时,在前台显示数据库信息,没有中文乱码问题,在控制台中mybatis显示数据库的信息,中文显示乱码. 在程序中用 System.out.println 输出中文的时候 ...
- 启动appium server时打印日志时间
在调试脚本的时候想看查找元素和执行命令花了多少时间,我们可以在启动appium server的时候加上启动参数,实现我们的需求. 1)输入:appium h,可以查看appium提供的启动参数有哪些. ...
- Tomcat在windows服务器下,将tomcat控制台日志记录到日志文件中
Tomcat在windows服务器下,将tomcat控制台日志记录到日志文件中 在Linux系统中,Tomcat 启动后默认将很多信息都写入到 catalina.out 文件中,我们可以通过tail ...
- Appium+python自动化(三十五)- 命令启动appium之 appium服务命令行参数(超详解)
简介 前边介绍的都是通过按钮点击启动按钮来启动appium服务,有的小伙伴或者童鞋们乍一听可能不信,或者会问如何通过命令行启动appium服务呢?且听宏哥一一道来. 一睹为快 其实相当的简单,不看不知 ...
- appium--python启动appium服务
前戏 前面我们都是在cmd下通过输入appium加端口号来启动服务的,在我们做自动化的时候,我们当然不希望我们手动启动appium服务,而是希望通过脚本自动启动appium服务. 我们可以使用subp ...
随机推荐
- 【CF687D】Dividing Kingdom II 线段树+并查集
[CF687D]Dividing Kingdom II 题意:给你一张n个点m条边的无向图,边有边权$w_i$.有q个询问,每次给出l r,问你:如果只保留编号在[l,r]中的边,你需要将所有点分成两 ...
- 【BZOJ5091】摘苹果 概率
[BZOJ5091]摘苹果 Description 小Q的工作是采摘花园里的苹果.在花园中有n棵苹果树以及m条双向道路,苹果树编号依次为1到n,每条道路的两 端连接着两棵不同的苹果树.假设第i棵苹果树 ...
- Unity3D之游戏架构脚本该如何来写
这篇文章主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏引擎的朋友 ...
- CentOS 6.8下Apache绑定多个域名的方法
如何通过设置Apache的http.conf文件,进行多个域名的绑定(假设我们要绑定的域名是discuz11.com和discuz22.com,独立IP为25.25.25.25). 域名/IP地址 域 ...
- Centos6.5 (或Linux) 安装Elasticsearch
一.可以在网上下载对饮的版本:https://github.com/elastic/elasticsearch,本次安装的是5.5.3. 首先保证虚拟机上安装了jdk,jdk的版本只是是1.7或以上 ...
- vue报错 Module not found: Error: Cannot resolve 'file' or 'directory'
炸了,我好写sell而组件,直接就用了,我的天哪 看你的写了吗,就用: Module not found: Error: Cannot resolve 'file' or 'directory' 页另 ...
- FFT【快速傅里叶变换】FWT【快速沃尔什变换】
实在是 美丽的数学啊 关于傅里叶变换的博客 讲的很细致 图片非常易于理解http://blog.jobbole.com/70549/ 大概能明白傅里叶变换是干吗的了 但是还是不能明白为什么用傅里叶变换 ...
- 反正切函数atan与atan2的区别
atan 和 atan2 都是求反正切函数,如:有两个点 point(x1,y1), 和 point(x2,y2); 那么这两个点形成的斜率的角度计算方法分别是: float angle = atan ...
- Python高阶函数:map、reduece、filter
笔记中函数简介: map函数:遍历序列,对序列中每个元素进行操作,最终获取新的序列. reduce函数:对于序列内所有元素进行累计操作. filter函数:对于序列中的元素进行筛选,最终获取符合条件的 ...
- 【python-opencv】几何变换
"""几何变换-缩放""" img = cv.imread(r'pictures\family.jpg') ""&quo ...