1、在Linux上放selenium-server-standalone-2.53.0.jar,在jar包目录下执行命令java -jar selenium-server-standalone-2.53.0.jar -role hub,启动hub,提示Nodes should register to http://192.168.8.184:4444/grid/register/,Selenium Grid hub is up and running

浏览器打开http://192.168.8.184:4444/grid/console,页面打开成功

2、注册node节点

  1)写Honor8_DevicesNode.json文件:    

{
"capabilities": [
{
"deviceName": "GSL0217302005195",//设备UID
"version": "8.0.0",//设备版本号
"maxInstances": 3,
"platform": "ANDROID",//Android设备
"browserName": "chrome"
}
],
"configuration":
{
"cleanUpCycle":"2000",
"timeout":"30000",
"proxy":"org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"url":"http://192.168.27.209:4723/wd/hub",////appiumserver地址,即node地址
"host":"192.168.27.209",
"port":"4723",
"maxSession":"1",
"register":true,
"registerCycle":"5000",
"hubPort":"4444", //grid hub的端口号
"hubHost":"192.168.8.184"// grid hub的IP
}
}

  2)在Windows服务器上放selenium-server-standalone-2.53.0.jar,进入jar包目录,通过cmd命令注册node节点,并启动appium server:appium -a 192.168.27.209 -p 4723 -bp 4724 --session-override  --nodeconfig D:\Honor8_DevicesNode.json,Linux hub 日志提示:Registered a node http://192.168.27.209:4723,node注册成功

浏览器打开grid,提示注册成功

3、开始执行测试脚本,

附:方案历程

1)原先在Windows下执行用的脚本是用adb命令安装的,

在Windows下执行命令是:cmd.exe /c adb install -r D:\workspace\NVR-Rental-APP-Test\apps\rent_test_v1.5.0.apk

但是,在Linux下执行时,如下图,会自动获取工程所在的目录,也就是Linux的目录,导致安装失败(相当于Linux的安装包,通过Windows node 要在手机上装APP,肯定不行)

2)想到了远程安装,在Jenkins里写cmd批处理命令:

java wmic /node:192.168.27.209 /user:Administrator /ptassword:zj12345  process call create "cmd.exe /c adb install -r D:\apps\rent_test_v1.5.0.apk"

 通过Jenkins远程安装成功,但是build 成功后,Jenkins切换不回Linux,还是用cmd命令,还是行不通

 3)还是用DesiredCapabilities capabilities安装APP

  先看这样写的效果,也是获取的Linux的工程目录,所以也安装不了  

4)改下脚本,把APP的路径改成Windows系统

 fan

最终,把APP 放到Windows下,可以成功安装APP

在调试过程中,尝试通过Jenkins自动构建执行远程命令,把Windows node注册到Linux hub上,但是尝试失败了;也想通过Jenkins的node插件,自动注册Windows node节点,后来查了下,Linux作为节点时,可以实现指定注册node,但是Windows必须是node主动注册到hub上,所以目前是手动注册Windows node 到Linux hub上

Linux下的Jenkins作为hub,Windows作为node节点,在Android手机上执行自动化脚本的更多相关文章

  1. 【初体验】macos下android ndk交叉编译hello world,并拷贝到android手机上执行

    1.机器上以前安装了java 1.8(貌似android ndk不需要java) 2. 下载android ndk,版本是android-ndk-r14b (比较奇怪,我下载了最新的android-n ...

  2. 安装在Linux下的jenkins执行windows下的bat命令

    launch method里面没有 launch agent via java web start 默认是disable 需要改成random 转载自: http://blog.csdn.net/so ...

  3. Linux下的Jenkins+Tomcat+Maven+Gitlab+Shell环境的搭建使用(jenkins自动化部署)

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  4. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  5. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  6. linux下的php网站放到Windows服务器IIS下导入 .htaccess文件伪静态规则转换 (wordpress)

    需要特别注意的是: 1. .htacdess文件在 wordpress中 是可以生成的 安装 WP Super Cache后,开启该插件>>设置>>高级>>找到并点 ...

  7. linux下的php网站放到Windows服务器IIS下.htaccess文件伪静态规则转换

    此办法只适合于linux下的php网站放到Windows服务器IIS下 ,  网站除了主页面正常以外  子页面全部出现404错误    这里子页面出现404 错误是说明伪静态没有开启 什么是.htac ...

  8. 自动化服务部署(二):Linux下安装jenkins

    jenkins是一个Java开发的开源持续集成工具,广泛用于项目开发,具有自动化构建.测试和部署等功能,它的运行需要Java环境. 上篇博客介绍了Linux下安装JDK的步骤,这篇博客,介绍下Linu ...

  9. 环境部署(二):Linux下安装jenkins

    jenkins是一个Java开发的开源持续集成工具,广泛用于项目开发,具有自动化构建.测试和部署等功能,它的运行需要Java环境. 上篇博客介绍了Linux下安装JDK的步骤,这篇博客,介绍下Linu ...

随机推荐

  1. java 大数运算,高精度模板

    转自:https://blog.csdn.net/stffer/article/details/46382949 有修改 关于BigInteger类更详细的用法请移步官方文档 package prac ...

  2. python基础:1.位、字节、字的关系

    1.位,简称b,或bit,比特,数据存储的最小单位.每个二进制数字0或1就是一个位(bit),网络通信常用bps,bit per second ,每秒传输多少位 2.字节,简称byte, 1byte ...

  3. 7.搭建hyperledger fabric环境及启动——2019年12月12日

    2019年12月12日13:05:16 声明:从网络中学习整理实践而来. 1.介绍fabric Fabric 是一个面向企业应用的区块链框架,基于 Fabric 的开发可以粗略分为几个层面: 1. 参 ...

  4. 【leetcode】636. Exclusive Time of Functions

    题目如下: 解题思路:本题和括号匹配问题有点像,用栈比较适合.一个元素入栈前,如果自己的状态是“start”,则直接入栈:如果是end则判断和栈顶的元素是否id相同并且状态是“start”,如果满足这 ...

  5. 【Eureka】实现原理

    Eureka Client 拉取Eureka Server中的全量注册表 注册自身实例InstanceInfo至Eureka Server 初始化定时任务 心跳(续约)任务 拉取增量注册表更新本地注册 ...

  6. hdu 2732 Leapin' Lizards (最大流 拆点建图)

    Problem Description Your platoon of wandering lizards has entered a strange room in the labyrinth yo ...

  7. 【Java】java获取json中某个字段

    import com.alibaba.fastjson.JSONObject; public class JsonTest { public static void main(String[] arg ...

  8. 2018-2019 ACM-ICPC Brazil Subregional Programming Contest F. Music Festival

    题目:https://codeforces.com/gym/101908/problem/F 题意:给你n个舞台,每个舞台有很多个节目,每个节目有个开始时间,结束时间,价值,每个舞台至少出演过一个节目 ...

  9. HihoCoder - 1664 (单调队列)

    题目:https://vjudge.net/contest/319166#problem/B 题意: 一个01间隔矩阵,求一个方阵的最大边长,这个方阵的要求是里面01分隔,不能有01相邻 思路:同   ...

  10. QTP-创建一个word文件

    '创建word实例 Set oWordApp = CreateObject("Word.Application") oWordApp.Visible =True '添加一个word ...