为iOS应用测试自动化设置appium

时间:2013-12-22 15:25:36

标签: java ios automated-tests appium

远远地观察循序渐进指南,使用appium设置iOS Test Automation,使用Java脚本(无红宝石和/或黄瓜)。

注意:appium wiki也没有帮助。

4 个答案:

答案 0 :(得分:15)

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

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

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

    您还可以参考我的博客文章here,了解有关执行示例基本脚本的更多详细信息。

答案 1 :(得分:6)

我发现这非常有帮助。

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

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

Appium Native iOS App测试|的webdriver Appium是一款面向本机,混合和移动Web应用程序的开源,跨平台测试自动化工具。 Appium测试可以用您最喜欢的Webdriver兼容语言编写。

要求&安装

1 | MAC OS X 10.7(需要最低版本) 2 | Xcode更新版(更喜欢) 3 | Node.js的 4 | Appium.app 5 | Eclipse Kepler(首选) 6 | TestNG框架

Pre-Appium设置

iOS .app文件足以检查元素。在这个例子中,我使用了Apple DEV网站上的“InternationalMountains”项目。

1 |下载项目'InternationalMountains' 2 |双击并解压缩 3 |打开Xcode文件将其导入Xcode 4 |运行该项目 5 |确保使用应用程序打开模拟器 6 |打开终端并移动到项目文件夹 7 |运行以下命令以构建.app文件

`xcodebuild -sdk iphonesimulator6.1`

8 |它将构建应用程序并生成文件“InternationalMountains.app” / InternationalMountains /生成/产品/推出-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使用App

下载Appium,安装并运行

3 |现在,Appium服务器开始在

default port 4723 and IP Address 0.0.0.0

Appium检查员

Appium检查器是一个记录和回放工具,就像Selenium IDE for web。

1 |打开Appium

2 |将默认IP地址更改为127.0.0.1 and port 4725

3 |现在,启用“应用程序路径”复选框 4 |单击“选择”按钮,找到.app本地目录。即,InternationalMountains.app

5 |点击“启动”按钮[Appium服务器立即启动] 6 |现在,启用了“启动”按钮旁边的蓝色图标 7 |单击蓝色图标,使用Simulator打开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 |目前,没有Appium检查员支持Windows

答案 2 :(得分:0)

我在第6步 -

收到错误弹出窗口

无法开始新会话

确保Appium服务器正在运行,并使用" App Path" Appium.app中的参数(以及Android的包和活动)或通过与selenium客户端连接并在所需的功能对象中提供此参数。

答案 3 :(得分:0)

我已经在github

上传了java eclipse项目

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

要求:

  1. Appium应该在Mac机器上启动并运行
  2. Eclipse开发并运行java测试用例