【问题标题】:How to set desired capabilities for launching ios app on real device with appium ( c#)如何使用 appium (c#) 设置在真实设备上启动 ios 应用程序所需的功能
【发布时间】:2016-01-26 04:40:36
【问题描述】:

您好,我正在自动化 ios 上的本机 ios 应用程序。我已经自动化了 android 本机应用程序,但是为了从在 windows 上运行的 c# 代码在 mac 上启动 appium 服务器,我需要知道如何为 ios 平台设置所需的功能。

【问题讨论】:

    标签: ios appium


    【解决方案1】:

    请找到以下c#语言的和平代码:

     DesiredCapabilities capabilities = new DesiredCapabilities();
     TestCapabilities testCapabilities = new TestCapabilities();
    
      testCapabilities.App = "";
      testCapabilities.AutoWebView = true;
      testCapabilities.AutomationName = "";
      testCapabilities.BrowserName = String.Empty; // Leave empty otherwise you test on browsers
      testCapabilities.DeviceName = "Needed if testing on IOS on a specific device. This will be the UDID";
      testCapabilities.Platform = TestCapabilities.DevicePlatform.IOS; // Or Android
      testCapabilities.PlatformVersion = String.Empty; // Not really needed
    
      testCapabilities.AssignAppiumCapabilities(ref capabilities);
      driver = new AppiumDriver(testServerAddress, capabilities, INIT_TIMEOUT_SEC);
      driver.Manage().Timeouts().ImplicitlyWait(IMPLICIT_TIMEOUT_SEC);
    

    【讨论】:

      【解决方案2】:

      要在 iOS 模拟器/真实设备上运行 Appium 测试,需要 Mac 硬件,而要在真实设备上运行测试,还需要来自苹果开发者帐户的团队 ID。更多详情here.

      通过电缆将 iPhone 连接到 MacOS,或将 iPhone 和 Mac 计算机连接到同一个无线网络 (WiFi)。

      初始化appium iOS驱动以在真机上运行测试的C#代码:

      //Initialise driver options
      AppiumOptions capabilities = new AppiumOptions();
      
      //Declare capabilities
      capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformName, "iOS");
      capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, "13.2"); //put real device iOS version
      capabilities.AddAdditionalCapability(MobileCapabilityType.DeviceName, "iPhone X"; //put real device name
      capabilities.AddAdditionalCapability(MobileCapabilityType.AutomationName, "XCUITest");
      
      if (appInstalled)
      {
          //if app is installed and don't want to re-install, use below capability
          capabilities.AddAdditionalCapability(IOSMobileCapabilityType.BundleId, "<app-bundle-id>");
      }
      
      else
      {
          //(re)installs app
          capabilities.AddAdditionalCapability(IOSMobileCapabilityType.AppName, "<name-of-test-app>");
          capabilities.AddAdditionalCapability(MobileCapabilityType.App, "<absolute-path-to-test-app.app>");
      }
      
      capabilities.AddAdditionalCapability(MobileCapabilityType.Udid, "<real-device-Udid>");
      capabilities.AddAdditionalCapability("xcodeOrgId", "<team-id>");
      capabilities.AddAdditionalCapability("xcodeSigningId","iPhone Developer");
      
      //Initialise iOS driver
      var driver = new IOSDriver<IMobileElement<AppiumWebElement>>(capabilities);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-04-05
        • 2013-11-04
        • 2019-04-19
        • 2016-02-04
        • 2015-06-10
        • 2020-02-06
        • 2016-01-21
        相关资源
        最近更新 更多