appium grid模式运行自动化

来源:互联网 发布:数据库系统概论公开课 编辑:程序博客网 时间:2024/06/02 01:21

背景介绍: 之前在项目中遇到一个问题, 测试服务器在机房, 无法直接将设备连接到服务器执行自动化测试, 于是就想到了使用appium grid的模式进行自动化的执行, 将appium server当做grid模式中的node节点部署在本机即可, 而这种模式也可以为后面的多设备并行自动化提供了一个可实施性, 以下内容就是一个大概的过程.

  1. 目标&需求:

    • 服务端运行代码,客户端模拟器远程执行测试指令;
    • 为后面的多设备并行执行测试打下基础;
  2. 解决方法

    • 使用appium grid模式来跑自动化。在服务端搭建一个server,与客户端的appiumServer进行通信,这样在服务端运行代码,server会将执行指令通过一个配置文件路由到相应客户端的appiumServer进行自动化测试;
  3. appium grid介绍

    • 官方地址:https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/grid.md
    • 基于selenium grid2,由一个中心节点(Hub)和多个node组成,测试代码在hub执行,然后会根据不通的配置文件将命令发送到对应的node节点,测试具体的执行是在node节点;
  4. 环境准备:

    • 下载selenium-server-standalone-2.53.0.jar;
    • 准备node配置文件,json格式,内容实例如下
{    //appium的服务关键字参数配置    "capabilities":    [        {            "browserName":"192.168.82.101:5555",//设备名称            "platform":"Android",//设备系统            "version":"4.4",//设备版本号            "maxINstances":"1" //最大允许的实例        }    ],    // hub与node的配置    "configuration":    {        "cleanUpCycle":"2000",        "timeout":"30000",        "proxy":"org.openqa.grid.selenium.proxy.DefaultRemoteProxy",        "url":"http://10.10.2.48:4723/wd/hub",  //appiumserver地址,即node地址        "host":"10.10.2.48",        "port":"4723",        "maxSession":"1",        "register":true,        "registerCycle":"5000",        "hubPort":"4444", //hub端口        "hubHost":"192.168.4.8"  //hub地址    }   }

具体实现步骤:

  • 服务端直接启动hubServer:java -jar selenium-server-standalone-2.53.0.jar -role hub
  • 测试代码执行远程ssh到windows启动appiumServer
    1. windows没有ssh服务,需要在远程机器安装freessh,并启动ssh服务;
    2. 使用java连接远程ssh服务再执行命令启动appiumServer;
  • 开始自动化执行;
原创粉丝点击