第一范文网 - 专业文章范例文档资料分享平台

Appium setup

来源:用户分享 时间:2025/5/18 0:27:21 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

搭建环境 - IOS

1. 一台mac电脑,10.7以上版本,推荐10.9.2

2.从app store上下载xcode (ios sdk 包含在xcode里) 3.下载并安装nodejs(官网:https://nodejs.org/download/)

4.下载Appium server安装文件(https://bitbucket.org/appium/appium.app/downloads/)

搭建环境 - Android

测试Android时,appium server可以安装在Mac, Windows,linux中的任意系统中。一下以windows环境为例。

1.安装JDK和SDK并配置环境变量。 2.安装nodejs windows版。

3.下载安装appium windows版安装文件

至此,我们需要的环境都已搭建完成!

开始写代码

一、启动并配置服务器(说明主要以ios为例)

在mac端打开下载好的appium server。根据真机或者模拟器的不同进行配置。 注意:

A. 真机安装.ipa文件, 模拟器安装.app文件(.app 文件在/Users/{YOUR NAME}/Library/Developer/CoreSimulator/Devices/设备型号/data/Containers) B. BundleId代表app包名,如com.wuba.bangbang

C. UDID代表手机的唯一标识符,设置此选项代表你要测得是真机,如何获得UDID请查看http://jingyan.http://www.njliaohua.com//article/0eb457e506c8d503f1a905b0.html

D. ForceDevice和platformVersion选择你想测试的模拟器版本或者已链接电脑的真机的型号

测试过程中从真机换到模拟器或相反时请注意检查以上选项 E.若想保存测试过程中的app数据则可以设置No Reset选项

F.setting中OverrideExisting Sessions可以避免出现已经有一个sessionid存在而不能成功创建session的问题

Android和ios配置请参考以下截图:

ios settings:

二、编写代码

代码的编写可以在Mac,Linux,Windows上进行,没有平台的限制。 步骤:

A. 创建一个普通的Java工程 B. 导入相关的jar包: ①java_client.jar -->编写测试代码时用到的类和方法都在这里。 ②selenium_java.jar和selenium_standalone.jar。这两个jar包的版本要一致。 ③导入TestNG包。 C.创建一个测试类 ①Capabilities对象 --> 保存此次测试的环境,如要测试的平台、测试手机、测试的app等信息。当然,若server已配置,代码端可以省略,但这个capability对象要存在。 ②AppiumDriver对象 -->对手机的操作由这个类完成。需正确配置appium server的地址。 ③开始对手机进行操作。 D.获取手机中的元素。

使用appium server中

按钮查看当前手机界面的元素。

在脚本中通过findElementByXpath, findElementById, findElementByName等方式获得界面元素,再通过click(), sendKeys()等方法对元素进行操作。

至此第一个Appium测试代码已经完成!

三、优化工程结构 为了使Android和IOS的脚本兼容,appium提供支持PageObject模式。

Appium为Android和IOS分别新加了@AndroidFindBy、@AndroidFindAll和@iOSFindBy @iOSFindAll标签。

Page Object说明文档:

https://code.google.com/p/selenium/wiki/PageFactory https://code.google.com/p/selenium/wiki/PageObjects

以登录界面为例,代码为:

@AndroidFindBy(uiAutomator=\

@iOSFindBy(xpath=\)public WebElement account;

@AndroidFindBy(id=\)

@iOSFindBy(xpath=\public WebElement pwd;

@AndroidFindBy(id=\)

@iOSFindBy(xpath=\) public WebElement role;

@AndroidFindBy(id=\)

@iOSFindBy(xpath=\) public WebElement loginButton;

UiSelector().resourceId(\\\)

ld[1]\)

public void login(String account, String pwd, String role) throws DocumentException, InterruptedException{ }

this.account.sendKeys(account); this.pwd.clear(); this.pwd.sendKeys(pwd);

this.role.click();//click role button

driver.findElementByName(role).click();//select a role this.loginButton.click();//login

四 后续

Appium部署在持续集成中。

搜索更多关于: Appium setup 的文档
Appium setup.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c5fuit6pyya28mww144sc_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top