自动化测试/CI测试自动化测试iOS开发成长之路

Mac环境安装使用Appium,测试IOS App

2016-10-30  本文已影响11482人  野草2060

关于Appium安装和使用,这份写的很好。https://testerhome.com/topics/6962(Appium在 MAC 上搭建 appium1.6.3 过程)。下面我写的内容可不看。

安装并使用后,感觉Appium不太好安装。本笔记仅为出现同样问题的同学提供参考,可能每步照做也不一定能成功,因为我自己看了多个安装指导,才安装成功。事后总结,总会有些遗漏的地方。不过,可作为众多选择中的一种。

1、命令行安装Appium

brew install node            # get node.js

npm install -g appium    # get appium    

npm install wd                # get appium client

appium &                        # start appium

    是否安装成功,可运行appium-doctor来检测

    由于安装需要连接国外的技术站点,国内网络不稳定导致安装失败。大家可尝试使用淘宝镜像,在~目录创建文件.npmrc,然后加入一行chromedriver_cdnurl=http://npm.taobao.org/mirrors/chromedriver。

2、下载安装Appium.dmg

    从https://bitbucket.org/appium/appium.app/downloads/,下载最新版本,目前是1.5.3,点击进行安装。

    安装成功,点击Doctor,返回类似下面的内容就表示安装成功了。

3、启动运行存在的问题

a、Error: Could not detect Mac OS X Version from sw_vers output: '10.12。

  由于10.12是最新mac版本,appium1.5.3并未提供支持,所以用“grep -rl "Could not detect Mac OS X Version from sw_vers output:" /Applications/Appium.app/”找出包含的文件并修改版本号。具体见http://stackoverflow.com/questions/40129794/how-to-fix-error-could-not-detect-mac-os-x-version-from-sw-vers-output-10-12

b、[MJSONWP]Encountered internal error running command: Error: Could not findAutomation.tracetemplate in any of the followinglocations

    找到的Appium开发者的答复是“Xcode 8 removed UI Automation, which is how Appium automated iOS. Appium 1.6.0-beta (now version 3) implements the new automation system. Use it.”所以appium1.5.3对Xcode8支持的不够,所以如果希望使用最新正式版appium1.5.3,我又卸载了Xcode8,安装了Xcode7.3.1版本。如果打算使用最新的Xcode8,最好的选择是使用最新beta版1.6。

c、出现ideviceinstaller安装ios版本失败时,可以考虑重装ideviceinstaller

brew uninstall ideviceinstaller

brew uninstall libimobiledevice

brew install --HEAD libimobiledevice

brew link --overwrite libimobiledevice

brew install ideviceinstaller

brew link --overwrite ideviceinstaller

4、成功运行的iphone6配置

    经过多次试用,可运行的iphone6的配置如下:

     App Path:需要安装和测试的App地址

    Force Device:用来测试的ios设备

    Platform Version:测试设备的ios版本

    UDID:测试设备的UDID,可在iTunes查到

对于真机测试,需要打开真机的开发者选项,并启动UI Automation。

5、inspector使用

    启动Appium后,点击Inspector,出现下面的界面,则说明Appium和使用的手机环境都已经准备好了,可以进行ios界面测试开发了。

6、ios测试代码

@Before

public void setUp() throws Exception {

    DesiredCapabilitiescapabilities=newDesiredCapabilities();

    capabilities.setCapability("appium-version","1.0");

    capabilities.setCapability("platformName","iOS");

    capabilities.setCapability("platformVersion","9.3");

    capabilities.setCapability("deviceName","iPhone 6");

    capabilities.setCapability("app","/Users/zhangjinhai/Downloads/MedicalRecordsFolderPubDebug4.33.0.ipa");

    wd=newAppiumDriver(newURL("http://0.0.0.0:4723/wd/hub"),capabilities);

    wd.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);

}

@After

public void tearDown() throws Exception {

wd.quit();

}

@Test

public void MedAdd() throws InterruptedException {

wd.findElementByXPath("//*[@name = \"index btnadd\"]").click();

Thread.sleep(6000);

}

7、使用的环境以及一些参考资料网址

调试使用的环境(其他环境也可,安装时都能找到对应的要求):

macOS sierra 10.12.1

XCode 7.3.1

iPhone 6 ios9.3

Appium 1.5.3

参考资料网址:

Appium版本地址:https://bitbucket.org/appium/appium.app/downloads/

Appium最新版本地址:https://github.com/appium/appium

Appium文档地址:http://appium.io/slate/en/1.5.3/?java#appium-platform-support

中文 Appium API 文档:https://testerhome.com/topics/3144

Appium issues-bugs:https://discuss.appium.io/c/issues-bugs

testerhome iOS 真机运行 Appium 长期答疑:https://testerhome.com/topics/1377?page=2 

上一篇下一篇

猜你喜欢

热点阅读