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

Java 为iOS应用程序测试自动化设置appium,java,ios,automated-tests,appium,Java,Ios,Automated Tests,Appium,请广泛查找逐步指南,以使用appium和Java脚本(无ruby和/或cucumber)设置iOS测试自动化 注意:appium wiki也没有帮助。要运行iOS测试,您可以执行以下步骤: (注意:我在Eclipse IDE中使用Java语言并使用Appium应用程序): 在Eclipse中创建一个新的java项目 导入jar文件:可以下载的Selenium服务器(以前是Selenium RC服务器)版本和所需的客户端驱动程序(根据您的语言选择)。(要导入:右键单击项目->属性->库->添加外部

请广泛查找逐步指南,以使用appium和Java脚本(无ruby和/或cucumber)设置iOS测试自动化


注意:appium wiki也没有帮助。

要运行iOS测试,您可以执行以下步骤:

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

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


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

    我发现这非常有用

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

    Appium本机iOS应用程序测试| WebDriver Appium是一个开源、跨平台的测试自动化工具,用于原生、混合和移动web应用程序。Appium测试可以用您最喜欢的Webdriver兼容语言编写

    要求和安装

    1 | MAC OS X 10.7(要求最低版本) 2 | Xcode更新版本(首选) 3 | Node.js 4 | Appium.app 5 |日食开普勒(首选) 6 | TestNG框架

    预安装

    iOS.app文件足以检查元素。在本例中,我使用了来自Apple DEV站点的项目“InternationalMountains”

    1 |下载项目“国际山脉” 2 |双击并将其解压缩 3 |通过打开Xcode文件将其导入Xcode 4 |管理项目 5 |确保模拟器与应用程序一起打开 6 |打开终端并移动到项目文件夹 7 |运行以下命令以生成.app文件

    `xcodebuild -sdk iphonesimulator6.1`
    
    8 |它将构建应用程序并在下生成文件“internationalmounters.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(或)$sudo npm install appium-g
    //启动Appium服务器
    $appium&

    2使用应用程序 下载Appium,安装并运行它

    3 |现在,Appium服务器在

    default port 4723 and IP Address 0.0.0.0
    
    Appium检查员

    Appium inspector是一个记录和回放工具,就像Selenium IDE for web一样

    1 |开盖

    2 |将默认IP地址更改为
    127.0.0.1和端口4725

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

    5 |单击“启动”按钮[Appium服务器立即启动] 6 |现在,“启动”按钮旁边的蓝色图标已启用 7 |单击蓝色图标打开Appium inspector with Simulator 8 |现在,单击Appium inspector中的“记录”按钮 9 |每个操作都将在Appium inspector的底部生成一个脚本

    在EclipseIDE中运行脚本

    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 inspector支持

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

    无法启动新会话


    确保Appium服务器运行的应用程序是通过使用Appium.App中的“App Path”参数(以及Android的package和activity)打开的,或者通过连接selenium客户端并在所需的capabilities对象中提供该参数打开的。

    我已将java eclipse项目上传到github上

    要求:

  • Appium应在Mac计算机上启动并运行
  • Eclipse开发和运行java测试用例

  • 谢谢你创建和分享这篇文章。我相信,为了社区的利益,这篇优秀的文章可以做得更详细。请让我知道你是否愿意合作。请注意,你的答案只提供链接,版主可以随时删除它…我有一个.app文件。我是否需要担心在iOS模拟器上运行应用程序的配置文件?我真的不知道配置文件的含义以及我们为什么这么做,但如果有人能指出一些资源,解释为什么在iOS上运行appium测试需要配置,那就太好了。请阅读并提供信息,这样,如果链接断开,您的答案仍然有用。嗨,Jonathan,我看了一下指南,很高兴包含了所有的分步指南,但它看起来很长,而且很难挑选出你最需要的主要项目。让我知道最好的处理方法是什么。谢谢你可以总结这些步骤,也可以全部复制。我检查了链接,没有图片,它看起来不长,所以你可以复制所有东西。我用Objective-C语言记录我的测试脚本,我如何运行我记录的应用程序脚本?我应该用java记录我的iOS应用程序构建,然后通过Eclipse运行吗??我不这么认为,使用Eclipse比使用XCode更好。您是否尝试过appium文档?这里-