【问题标题】:driver.setLocation() not working on iOS appium simulatordriver.setLocation() 在 iOS appium 模拟器上不起作用
【发布时间】:2016-05-22 18:53:42
【问题描述】:

我在网上做了很多搜索,但我不确定自己做错了什么。这个想法是我想在模拟器中使用以下位置启动我的 iOS 应用程序。当我手动转到调试>位置>自定义位置并设置经度和纬度时,这工作正常......但是我需要以编程方式进行,以便我的应用程序在我单击启用位置时启动/拾取该位置。这是我的代码

public class SampleTest extends SampleBaseTest {

          private IOSDriver driver;
          private String sessionId;
          static UserData sampleUser = null;


          @Test(priority = 0)
          public void setUp() throws MalformedURLException {

              DesiredCapabilities caps = DesiredCapabilities.iphone();
              caps.setCapability("appiumVersion", "1.4.16");
              caps.setCapability("deviceName","iPhone 6");
              caps.setCapability("deviceOrientation", "portrait");
              caps.setCapability("platformVersion","9.1");
              caps.setCapability("platformName", "iOS");
              caps.setCapability("browserName", "");
              caps.setCapability("app","sauce-storage:sampleAppe.zip");

            URL sauceUrl = new URL("http://" + "sauceUserName" + ":"+ "sauceUserKey" + "@ondemand.saucelabs.com:80/wd/hub");

            driver = new IOSDriver(sauceUrl, caps);
            Location location = new Location(-8.78319, -114.509, 0.0);
            driver.setLocation(location);

            sessionId = driver.getSessionId().toString();



          @Test(priority = 1)
          public void navigateToPayAhead()
                          throws Exception {

              try{
                    // test logic here

              }
              catch(Exception e){
                  e.printStackTrace();
              }

          }
        }
    }

【问题讨论】:

    标签: ios ios-simulator appium saucelabs


    【解决方案1】:

    很遗憾,目前在 Sauce iOS 模拟器上设置位置存在问题。从关于类似问题的支持票中,我被告知这是一个已知问题,并且会(在某个时候)得到解决。

    我可以通过 Sauce Labs 验证在使用 Android 模拟器时设置位置确实有效。

    所以,我想好消息是你没有做错任何事!

    【讨论】:

      【解决方案2】:

      尝试添加

      caps.setCapability("locationServicesEnabled", true);
      caps.setCapability("locationServicesAuthorized", true);
      caps.setCapability("bundleId", "YOUR_BUNDLE_ID_HERE");
      

      要获取您的捆绑包 ID,请参阅 How to obtain Bundle ID for an IOS App when I have a '.ipa' file for the app installed on my iPAD

      【讨论】:

        猜你喜欢
        • 2016-02-04
        • 1970-01-01
        • 1970-01-01
        • 2017-03-07
        • 2019-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-11
        相关资源
        最近更新 更多