1.配置appium信息

第一台机

第二台机类似,连接端口和监听端口不能重复

2.appium连接手机,微信中打开debugx5.qq.com,信息-》TBS settings-》是否打开TBS内核Insperector调试功能

3.代码

方法

    public DesiredCapabilities get_capabilities(int i){
//配置appuim信息
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); //定义使用的浏览器Chrome,Safari
switch (i) {
case 1:
capabilities.setCapability("platformName", "Android"); //手机操作系统
capabilities.setCapability("deviceName", "4d00be1d37cd4033"); //手机类型
capabilities.setCapability("udid", "4d00be1d37cd4033"); //连接手机的唯一标识
capabilities.setCapability("platformVersion", "5.0.1"); //操作系统版本
break;
case 2:
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("deviceName","EJL4C16C15005850");
capabilities.setCapability("udid", "EJL4C16C15005850");
capabilities.setCapability("platformVersion", "6.0");
break;
default:
break;
}
capabilities.setCapability("appPackage", "com.tencent.mm"); //app包名
capabilities.setCapability("appActivity", ".ui.LauncherUI"); //要启动的Android Activity名
capabilities.setCapability("noReset", true); //不要在会话前重置应用状态
capabilities.setCapability("fullReset", false); //Android是否删除应用,IOS是否删除整个模拟器目录
capabilities.setCapability("sessionOverride", true);
//输入配置
capabilities.setCapability("unicodeKeyboard", true); //是否启动Unicode输入法
capabilities.setCapability("resetKeyboard", false); //结束后是否切换回默认输入法
//H5驱动关键,不配置webview会被识别成com.tencent.mm的webview,不是com.tencent.mm:tools的
ChromeOptions op= new ChromeOptions();
op.setExperimentalOption("androidProcess", "com.tencent.mm:tools");
capabilities.setCapability(ChromeOptions.CAPABILITY, op);
return capabilities; }

使用例子

    private AndroidDriver AndroidDriver;
private AndroidDriver AndroidDriver2;
private Start_Driver Start_Driver= new Start_Driver();
@Before
public void setUp() throws Exception { try {
AndroidDriver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), Start_Driver.get_capabilities(1));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} try {
AndroidDriver2 = new AndroidDriver(new URL("http://127.0.0.1:4728/wd/hub"), Start_Driver.get_capabilities(2));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

appium-java,同时连接多台机器,启动微信的更多相关文章

  1. 一台机器启动多个tomcat简单配置

    一台机器启动多个Tomcat只需要解决Tomcat端口冲突的问题. 相关配置:打开 Tomcat 目录下 conf \ server.xml 共修改三处端口,分别是: <Server port= ...

  2. 苹果电脑thunderbolt连接两台电脑启动方法

    thunderbolt:首先连接连台电脑 然后开启可以启动的电脑, 关闭无法启动的电脑. 接着 按一下法启动的电脑电源—> 然后按t键 会在另外一台可以启动的电脑上出现,无法启动电脑的磁盘. 就 ...

  3. Appium同时连接多台手机进行测试(多线程)

    作为测试小白,当时遇到了N多问题: 开启多线程后,发现app启动后,用例就停止了:且启动app对应的手机不能正确对应,用例中是A手机跑A用例,结果启动了B手机跑A用例报错. 主要原因:Appium S ...

  4. 一台机器同时运行多个appium实例

    测试需要同时在多个android设备上运行,就需要启动多个appium 第一台是运行微信: DesiredCapabilities capabilities = new DesiredCapabili ...

  5. Windows远程连接局域网内或同一个网段或同一个路由器的某台机器

    http://bbs.shendu.com/thread-1443245-1-1.html     亲自试验,具体操作如下:    我现在有三台机器和对应的ip地址(ip地址自己手动填写,不会网上搜) ...

  6. Jmeter 多台机器产生负载及问题解决方法

    JMeter 使用多台机器产生负载的操作步骤如下: 关于linux环境运行jmeter,分布式测试 见 http://www.51testing.com/html/55/383255-847895.h ...

  7. 【Appnium+C#+Winform自动化测试系列】一、获取本机连接的设备、启动多个Appnium和获取本机启动的Appnium

    本系列内容,准备根据所完成的项目为基线,一步一步的把整个设计和实现过程梳理. 先从基本的一些环境问题入手,梳理清楚关于手机设备和Appnium.因为我们在后面的建立Appnium连接时,需要设备名字和 ...

  8. 大数据学习day26----hive01----1hive的简介 2 hive的安装(hive的两种连接方式,后台启动,标准输出,错误输出)3. 数据库的基本操作 4. 建表(内部表和外部表的创建以及应用场景,数据导入,学生、分数sql练习)5.分区表 6加载数据的方式

    1. hive的简介(具体见文档) Hive是分析处理结构化数据的工具   本质:将hive sql转化成MapReduce程序或者spark程序 Hive处理的数据一般存储在HDFS上,其分析数据底 ...

  9. 大数据学习day17------第三阶段-----scala05------1.Akka RPC通信案例改造和部署在多台机器上 2. 柯里化方法 3. 隐式转换 4 scala的泛型

    1.Akka RPC通信案例改造和部署在多台机器上  1.1 Akka RPC通信案例的改造(主要是把一些参数不写是) Master package com._51doit.akka.rpc impo ...

随机推荐

  1. 【网络结构】Deep Residual Learning for Image Recognition(ResNet) 论文解析

    目录 0. 论文链接 1. 概述 2. 残差学习 3. Identity Mapping by shortcuts 4. Network Architectures 5. 训练细节 6. 实验 @ 0 ...

  2. [小问题笔记(八)] 常用SQL(读字段名,改字段名,打印影响行数,添加默认值,查找存储过程等)

    读取所有字段,自然排序 declare @fields varchar(max) Select @fields=ISNULL(@fields,'')++name+',' from syscolumns ...

  3. emmet常用指令组合

    emmet的应用   1.生成html(需要先将文件命名为.html后缀) !+tab,html:5+tab   2.生成meta utf meta:utf+tab   3.生成meta viewpo ...

  4. Struts2的select使用

    struts2的select标签中,常用的有以下几个属性:(1)struts2中的select 标签中,必须设置的属性只有一个,即是list.(2)select标签的list中必须有值,不然会报错.如 ...

  5. python+opencv链接摄像头

    import cv2 import numpy as numpy cap=cv2.VideoCapture(0) #设置显示分辨率和FPS ,不设置的话会非常卡 cap.set(cv2.CAP_PRO ...

  6. cygwin 获取root高级权限

    cygwin安装完成后没有passwd文件解决方法 ​

  7. 【Linux】无法添加用户,报“useradd: cannot open /etc/passwd”问题解决过程记录

    问题描述 今天在一个新的Linux环境添加用户的时候,发现不能添加,遇到了以下错误 useradd: cannot open /etc/passwd 解决方法 用lsattr命令查看/etc/pass ...

  8. PHPCMSV9的CKEDITOR编辑器增加行距

    lineheight插件,下载地址:http://files.cnblogs.com/ysfng/ckeditor-lineheight.zip 第一步,下载lineheight插件,并解压到\cke ...

  9. CSS布局框架 960GS 表单排版示例

  10. Java中子类对象赋值给父类变量

    1. 在Java中将一个字类对象赋值给父类变量是合法的,这也是实现多态(即方法的动态分派)的前提条件之一. 2. 在Java中父类赋值同样也适用于数组.可以将一个子类数组赋值给一个父类数组变量.但可能 ...