初识ios自动化(一)

Appium进行自动化测试有两个好处:

1. Appium在不同平台中使用了标准的自动化APIs,所以在跨平台时,不需要重新编译或者修改自己的应用。

2. Appium支持Selenium WebDriver支持的所有语言,如java、Object-C、JavaScript、Php、Python、Ruby、C#、Clojure,或者Perl语言,更可以使用Selenium WebDriver的Api。Appium支持任何一种测试框架。如果只使用Apple的UIAutomation,我们只能用javascript来编写测试用例,而且只能用Instruction来运行测试用例。同样,如果只使用Google的UIAutomation,我们就只能用java来编写测试用例。Appium实现了真正的跨平台自动化测试。

使用appium进行ios自动化需知:

IOS自动化测试需要Mac os操作系统

Mac OS X 10.7或者更高版本,推荐10.8.4版本

Android自动化测试可以在Mac、Linux上进行。

需要安装node和npm(node版本高于0.8)

Mac Xcode(本人使用)

Apple开发者工具(iphone模拟器sdk,及命令行工具)

安装appium

这里转发一个博客:http://www.cnblogs.com/oscarxie/p/3894559.html

到这里环境已经准备的差不多了,我开始自己的第一个ios自动化脚本

appium设置:

使用真机连接,要选中UUID,将真机的UUID填入,选择正确真机ios版本,这样在启动时,就会自动去寻找链接的设备。

发现在虚拟机上启动inspector,application 的设置必须设置App Path,使用BundleID将启动不了,会报以下错误:

Could not start a new session

Be sure the Appium server is running with an application opened by using the "App Path" parameter in Appium.app (along with package and activity for Android) or by connecting with selenium client and supplying this in the desired capabilities object.

如果有inspector启动不了,请查找之前写的一篇文章:http://www.cnblogs.com/llining/p/5040290.html

启动之后显示界面:

下面介绍下使用appium 录制脚本

打开inspector后,会发现上面有个record按钮,点击它,下面会弹出如下所示窗口:

点选某个文本框控件,点击text后,输入要输入的文本,点击Send Keys,代码中就会生成一行新的代码,如图

在Touch 中,会有一个常用动作,如点击、活动、长按等,Text中,是对文本的操作,Locator是用来检查定位元素的路径的正确,Misc中是对窗口中弹出的提示框的处理。

录制完毕后,点击sava,保存代码。

导出的代码如:

import io.appium.java_client.AppiumDriver;

import org.openqa.selenium.remote.DesiredCapabilities;

import java.net.URL;

public class {scriptName} {

public static void main(String[] args) {

DesiredCapabilities capabilities = new DesiredCapabilities();

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

capabilities.setCapability("platformName", "iOS"); //表示要启动的设备为ios

capabilities.setCapability("platformVersion", "9.1"); //启动设备的系统版本

capabilities.setCapability("deviceName", "iPhone 6 Plus"); //启动设备名称,虚拟机的只写设备名称就可以了,真机需要填写UUID

capabilities.setCapability("app", "/Users/123/Downloads/Reserve.ipa"); //要测试的包

wd = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); //appiumserver 连接地址

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

wd.findElement(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIAScrollView[1]/UIATextField[1]/UIATextField[1]")).sendKeys("156XXXX2606");  //像文本框输入文本

wd.findElement(By.xpath(".//UIAScrollView[1]/UIASecureTextField[1]/UIASecureTextField[1]")).sendKeys("111111");  //像文本框输入文本

wd.findElement(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIAScrollView[1]/UIAButton[1]")).click();   //点击登录按钮

wd.close();

}

}

以上脚本,就实现一个简单的登录功能。

时间: 2024-10-03 23:17:42

初识ios自动化(一)的相关文章

Jenkins+ Xcode+ 蒲公英 实现IOS自动化打包和分发

Jenkins+ Xcode+ 蒲公英 实现IOS自动化打包和分发 直接入正题: Screen Shot 2015-09-18 at 16.56.20.png Mac上安装Jekins jekins下载地址:http://jenkins-ci.org/ ,选择Mac 直接安装.安装成功后.访问http://localhost 是否可正常访问. 安装Jekins相关插件 证书管理插件1.https://wiki.jenkins-ci.org/display/JENKINS/Keychains+an

Mac Jenkins+fastlane 简单几步实现iOS自动化打包发布

最近在使用jenkins 实现ios自动化打包发布蒲公英过程实践遇到了一些坑,特意记录下来方便有需要的人. 进入正题: 一.安装Jenkins 1.Mac上安装Jenkins 遇到到坑 因为 Jenkins 的pkg安装包默认安装位置为shared文件夹,后续会遇到权限问题,所以放弃pkg安装.(说明:也许是安装时选择了本机所有用户可用的原因) 如果已经使用pkg文件方式安装了,卸载方法:找到该文件 /Library/Application Support/Jenkins/Uninstall.c

【Mac系统】之IOS自动化:WebDriverAgent安装

汇总: 非常感谢: ①codeskyblue的文章:<ATX ATX 文档 - iOS 真机如何安装 WebDriverAgent> ②Nuanyang2333的文章:<课前准备——WebDriverAgent 安装> ==================================================== 以及其他暂时还没用到的文章: ③yxys01的文章:<WebDriverAgent 天坑记> ④wonderfei的文章:<基于Faceboo

开启iOS自动化测试之门

开启iOS appium自动化测试之门 Appium介绍 Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持iOS.Android及FirefoxOS平台.Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库.Android系统的UIAutomator框架.Appium对iOS系统的支持得益于Dan Cuellar’s对于iOS自动化的研究.Appium也集成了Selendroid,来支持老and

iOS自动化编译

http://www.cnblogs.com/brycezhang/p/4097487.html 最近研究了一下iOS的自动化编译,目的是为了简化测试和开发的同学沟通协调的次数,实现测试同学可以随时从网页操作编译SVN最新源码并打包ipa进行测试.具体思路是通过从配置文件读取需要编译的项目配置列表展示在网页上,测试同学选择需要编译的项目,确定后将选择项目的相关参数传入shell脚本运行,编译完成自动跳转至下载页面.主要流程包括: Shell脚本的编写.通过xcodebuild和xcrun实现自动

iOS自动化UI测试——KIF使用分享

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #78492a } span.s1 { } Test Like a User! 演示自动化UI测试样例 演示秒到版,全流程一条线测试下来,注册--登录--实名认证--信用卡认证--添加收款器--刷卡收款 介绍KIF KIF的全称是Keep it functional.它是一个建立在XCTest的UI测试框架,通过accessibility来定位具体的控件,来操作U

IOS 自动化部署

BuildKit是一个模块化的命令行界面的自动化项目的iOS版本. BuildKit旨在从配置持续集成环境的疼痛减轻您和构建过程. 捆绑的构建任务包括: 增加内部版本号 画上的应用程序图标的版本号 构建应用程序 运行单元测试 产生的.ipa假象 BuildKit分布作为Ruby gem与可以在持续集成服务器环境或者在开发机器上启动一个可执行文件.这个过程与配置描述任务运行一个简单的YAML文件,你的项目的具体方案.这意味着您可以定制构建过程来满足您的要求. 这是与iOS7和iOS8 SDK与Ob

iOS自动化探索(一)WebDriverAgent

WebDriverAgent FaceBook推出的一款iOS移动测试框架, 支持真机和模拟器, 同时支持USB, 官方是这样介绍的: https://github.com/facebook/WebDriverAgent 下载: git clone https://github.com/facebook/WebDriverAgent.git 初始化脚本: 双击打开WebDriverAgent.xcodeproj 配置targets证书 配置WebDriverAgentRunner证书 这里会提示

【Mac + Appium + Java1.8学习(三)】之IOS自动化环境安装配置以及简单测试用例编写(模拟器、真机)

前提条件: =========================================== 1.Xcode版本为Xcode10及以上2.Appium版本必须为1.9及以上,因为Xcode为10.0 3.appium-desktop4.安装所需依赖库,包括: a.Homebrew b.Git c.node (brew install node) d.npm (brew install npm)e.carthage (brew install carthage)f.libimobiledev