zoukankan      html  css  js  c++  java
  • Linux下的Jenkins作为hub,Windows作为node节点,在Android手机上执行自动化脚本

    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:workspaceNVR-Rental-APP-Testapps ent_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 ent_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上

      

  • 相关阅读:
    三:Redis连接池、JedisPool详解、Redisi分布式
    vmware workstation14永久激活密钥分享
    人工智能二:TensorFlow环境搭建
    消息队列二:关于消息队列
    消息队列一:为什么需要消息队列(MQ)?
    java基础进阶一:String源码和String常量池
    人工智能一:Al学习路线
    Python学习二:词典基础详解
    Python学习一:序列基础详解
    什么是Hive
  • 原文地址:https://www.cnblogs.com/cainiaotest/p/11903734.html
Copyright © 2011-2022 走看看