在之前的文章中,学习了Appium的基本使用,可以参考Appium自动化测试-入门,我们接着学习一下在一台电脑中同时运行多设备的方法,这样在测试多种设备的时候,可以直接在本地完成。

一、启动Appium

一个Appium服务器只能连接一个测试设备进行测试,如果要在一台电脑上同时测试多个设备,解决方法是在电脑上启动多个Appium服务器,每个服务器连接不同的设备。我们要设置的就是要指定Appium服务器的监听端口。可以使用命令行来启动,也可以使用Appium的界面来启动,这里介绍一下界面的启动方式。命令行启动时需要我们安装Node.js来启动,在有专用的测试服务器时,命令行启动的方式会更便捷。

首先,我们需要指定device name,如下图所示:

appium操作多台ios_自动化测试

接着,我们需要指定服务器的地址和端口,地址就指定本机IP地址即可,端口要设置为不一样的,注意有的端口可能被占用的问题:

appium操作多台ios_appium_02

二、连接到Appium

这里用到的是RobotFramework指定关键字来连接Appium做一个示例,

${capability}  Create Dictionary   automationName=selendroid   platformVersion=6.0.1   platformName=Android    deviceName=8c28b78c udid=8c28b78c

Open Browser    https://www.baidu.com/  browser=chrome  remote_url=http://localhost:4727/wd/hub desired_capabilities=${capability}

上面是第一个脚本文件中的配置,简单的分析一些它做了什么:
首先是指定了Desired Capabilities,其中最重要的是指定了udid=8c28b78c,和不同的remote_url,这样才能正确的连接到我们要连接的设备。否则,只指定device name的情况下,Appium会默认连接到第一个设备上。以下是第二个配置文件:

${capability}  Create Dictionary   automationName=selendroid   platformVersion=7.0 platformName=Android    deviceName=TWGDU16513029045  udid=TWGDU16513029045

Open Browser    https://www.baidu.com/  browser=chrome  remote_url=http://localhost:4723/wd/hub desired_capabilities=${capability}

和上一个脚本一样,我们指定了不同的udid和remote_url,用Open Browser方法来打开了Chrome浏览器。通过指定不同的信息,我们可以连接到不同的Appium服务器上。这样,就可以做到在一台电脑上,同时运行多个设备。

关于RobotFramework的使用,会再写一篇文章做一下简单的介绍:)