为 iOS 应用测试自动化设置 appium [关闭]
Posted
技术标签:
【中文标题】为 iOS 应用测试自动化设置 appium [关闭]【英文标题】:Setting up appium for iOS app test automation [closed] 【发布时间】:2014-01-10 22:14:45 【问题描述】:广泛寻找分步指南来使用 appium 设置 ios 测试自动化,使用 Java 脚本(没有 ruby 和/或 cucumber)。
注意:appium wiki 也没有帮助。
【问题讨论】:
您尝试过 appium 文档吗?这里 - appium.io/documentation.html 【参考方案1】:要运行 iOS 测试,您可以按照以下步骤操作:
(注意:我在 Eclipse IDE 中使用 Java 语言并使用 Appium 应用程序):
-
在 Eclipse 中创建一个新的 java 项目。
导入 jar 文件:Selenium Server(以前的 Selenium RC Server)版本和所需的客户端驱动程序(根据您的语言选择),可以下载 here。 (要导入:右键单击您的项目 -> 属性 -> 库 -> 添加外部 JAR。在此处添加所有三个 selenium jar 文件。)
Download Appium 应用程序并启动。
您可以在模拟器或真实设备上运行您的测试脚本。要在真实的 iOS 设备上运行脚本,您将需要“deviceName”、“platformVersion”、“UDID”(设备 ID)和“Bundle ID”(应用程序包 ID)以及 .ipa 的绝对路径。
要在 iOS 模拟器上运行脚本,您需要应用程序的“deviceName”、“platformVersion”、.app 路径和“Bundle ID”。
在 Appium 应用程序中选择功能,并根据您是在模拟器上还是在设备上进行测试,在脚本中提及相同的功能。
启动 Appium 服务器,然后运行您的脚本。
所有可以使用的 Appium 服务器功能都可以在这里找到。
您也可以参考我的博文here 了解更多详细信息以执行示例基本脚本。
【讨论】:
感谢您创建和分享这篇文章。我相信这个优秀的帖子可以为了社区的利益而更加详尽。如果您愿意合作,请告诉我。 请注意,您的回答只提供链接,版主可能随时删除它... 我有一个 .app 文件。我是否需要担心配置配置文件才能在 iOS 模拟器上运行应用程序?我并不真正了解配置文件的含义以及我们为什么这样做,但是如果有人能指出一些资源来解释为什么需要配置来在 iOS 上运行 appium 测试,那就太好了。【参考方案2】:我觉得这很有帮助。
http://seleniumworks.blogspot.co.uk/2013/12/appium-native-ios-app-testing-webdriver.html
请注意,您需要获取项目的 .app 才能使其工作 - 而不是 .ipa
Appium 原生 iOS 应用测试 |网络驱动程序 Appium 是一个开源、跨平台的测试自动化工具,适用于原生、混合和移动 Web 应用程序。 Appium 测试可以用你最喜欢的兼容 Webdriver 的语言编写。
要求和安装
1| MAC OS X 10.7(需要最低版本) 2| Xcode 更新版本(首选) 3|节点.js 4| Appium.app 5| Eclipse 开普勒(首选) 6| TestNG 框架
Appium 前设置
iOS .app 文件足以检查元素。在这个例子中,我使用了来自 Apple DEV 网站的项目“InternationalMountains”。
1|下载项目“国际山脉” 2|双击解压 3|通过打开 Xcode 文件将其导入 Xcode 4|运行项目 5|确保模拟器与应用程序一起打开 6|打开终端并移动到项目文件夹 7|运行以下命令构建 .app 文件
`xcodebuild -sdk iphonesimulator6.1`
8|它将构建应用程序并在下生成文件“InternationalMountains.app” /InternationalMountains/Build/Products/Release-iphonesimulator/
Appium iOS 设置
1|下载并安装 Node.js
// npm 代表那个 Node.js 包管理器
$ sudo npm install wd
2|使用node.js;
运行 Appium 服务器有几种方法可以做到这一点..
1 使用 Node.js
//安装Appium
$ npm install -g appium (or) $ sudo npm install appium -g
//启动Appium服务器
$ appium &
2 使用应用程序
下载 Appium,安装并运行
3|现在,Appium 服务器在
default port 4723 and IP Address 0.0.0.0
Appium 检查员
Appium 检查器是一个记录和回放工具,就像 Web 的 Selenium IDE。
1|打开Appium
2|将默认IP地址更改为127.0.0.1 and port 4725
3|现在,启用复选框“应用程序路径” 4|单击“选择”按钮并找到 .app 本地目录。即 InternationalMountains.app
5|单击“启动”按钮 [Appium 服务器现在启动] 6|现在,“启动”按钮旁边的蓝色图标已启用 7|单击蓝色图标打开带有模拟器的 Appium 检查器 8|现在,单击 Appium 检查器中的“记录”按钮 9|每个动作都会在 Appium 检查器底部生成一个脚本
在 Eclipse IDE 中运行脚本
package packagename;
import java.io.File;
import java.net.URL;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class AppiumTest
public WebDriver driver = null;
@BeforeMethod
public void setUp() throws Exception
// set up appium
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "iOS");
capabilities.setCapability(CapabilityType.VERSION, "6.1");
capabilities.setCapability(CapabilityType.PLATFORM, "Mac");
capabilities.setCapability("app","/Users/username/Downloads/InternationalMountains /build/Release-iphonesimulator/InternationalMountains.app");
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4725/wd/hub"), capabilities);
@AfterMethod
public void tearDown() throws Exception
driver.quit();
@Test
public void test01() throws InterruptedException
driver.findElement(By.xpath("//window[1]/tableview[1]/cell[2]")).click();
driver.findElement(By.xpath("//window[1]/navigationBar[1]/button[1]")).click();
driver.findElement(By.xpath("//window[1]/tableview[1]/cell[7]/text[1]")).click();
注意: 1|目前,没有对 Windows 的 Appium 检查器支持
【讨论】:
请阅读How to Answer并提供信息,以便如果链接失效,您的答案仍然有用。 嗨,乔纳森,我查看了指南,很高兴包含所有分步指南,但它似乎很长 - 而且根据您的需要挑选主要项目也很棘手它。让我知道处理它的最佳方法是什么。谢谢 您可以总结这些步骤或将它们全部复制。我检查了链接,没有图像,它似乎不是很长,所以你可以复制所有内容。 我使用 Objective-C 语言录制我的测试脚本,我如何运行我录制的应用程序脚本?我应该用 java 记录我的 iOS 应用程序构建,然后通过 Eclipse 运行它吗?我不认为使用 Eclipse 比使用 XCode 更好。【参考方案3】:我在第 6 步弹出错误消息 -
无法开始新会话
确保 Appium 服务器正在使用 Appium.app 中的“App Path”参数打开的应用程序(以及 android 的包和活动)或通过连接 selenium 客户端并在所需的功能对象中提供它来运行。
【讨论】:
【参考方案4】:我已经在github上传了java eclipse项目
https://github.com/boobalaninfo/javaworkspace.git
要求:
-
Appium 应该在 Mac 机器上启动并运行
Eclipse 开发和运行 java 测试用例
【讨论】:
以上是关于为 iOS 应用测试自动化设置 appium [关闭]的主要内容,如果未能解决你的问题,请参考以下文章