15

寻找使用 appium 设置 iOS 测试自动化的分步指南,使用 Java 脚本(没有 ruby​​ 和/或 cucumber)。

注意:appium wiki 也没有帮助。

4

4 回答 4

15

要运行 iOS 测试,您可以按照以下步骤操作:

注意:我在 Eclipse IDE 中使用 Java 语言并使用 Appium 应用程序):

  1. 在 Eclipse 中创建一个新的 java 项目。
  2. 导入 jar 文件:Selenium Server(以前的 Selenium RC Server)版本和所需的客户端驱动程序(根据您的语言选择)可以在这里下载。(要导入:右键单击您的项目 -> 属性 -> 库 -> 添加外部 JAR。在此处添加所有三个 selenium jar 文件。)
  3. 下载Appium 应用程序并启动。
  4. 您可以在模拟器或真实设备上运行您的测试脚本。要在真实的 iOS 设备上运行脚本,您将需要“deviceName”、“platformVersion”、“UDID”(设备 ID)和“Bundle ID”(应用程序包 ID)以及 .ipa 的绝对路径。
  5. 要在 iOS 模拟器上运行脚本,您需要应用程序的“deviceName”、“platformVersion”、.app 路径和“Bundle ID”。
  6. 根据您是在模拟器上还是在设备上进行测试,在 Appium 应用程序中选择功能并在脚本中提及相同的功能。
  7. 启动 Appium 服务器,然后运行您的脚本。

所有可以使用的 Appium 服务器功能都可以在这里找到。

您也可以在此处参考我的博客文章以获取更多详细信息以执行示例基本脚本。

于 2013-12-23T16:16:42.350 回答
6

我发现这很有帮助。

http://seleniumworks.blogspot.co.uk/2013/12/appium-native-ios-app-testing-webdriver.html

请注意,您需要获取项目的 .app 才能使其工作 - 而不是 .ipa

Appium 原生 iOS 应用测试 | WebDriver 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/Build/Products/Release-iphonesimulator/ 下生成文件“InternationalMountains.app”

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| 单击蓝色图标打开带有 Simulator 8 的 Appium 检查器| 现在,单击 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 检查器支持

于 2014-02-28T17:23:20.210 回答
0

我在第 6 步收到错误弹出窗口 -

无法开始新会话

确保 Appium 服务器正在运行应用程序,该应用程序通过使用 Appium.app 中的“App Path”参数(以及 Android 的包和活动)或通过连接 selenium 客户端并在所需的功能对象中提供它来打开。

于 2014-03-25T09:15:07.617 回答
0

我已经在github上上传了java eclipse项目

https://github.com/boobalaninfo/javaworkspace.git

要求:

  1. Appium 应该在 Mac 机器上启动并运行
  2. Eclipse开发和运行java测试用例
于 2015-06-12T07:11:20.477 回答