Meta: -
其实我想设置GeoLocation在iOS使用设备Appium XCUITest的自动化.我尝试使用下面的代码,它在Android设备上工作正常,同时抛出异常iOS:
import org.openqa.selenium.html5.Location;
AppiumServiceBuilder builder = new AppiumServiceBuilder().usingAnyFreePort().withAppiumJS("path/to/appium/main.js");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("automationName", "XCUITest");
IOSDriver driver= new IOSDriver(builder, capabilities);
//Here this code working fine with AndroidDriver
Location location = new Location(latitude, longitude, altitude);
driver.setLocation(location);
Run Code Online (Sandbox Code Playgroud)
例外:
org.openqa.selenium.WebDriverException:方法尚未实现(警告:服务器未提供任何堆栈跟踪信息)
当我尝试使用JavascriptExecutor时:
Map<String, String> args = new HashMap<String, String>();
args.put("address", "Address");
((JavascriptExecutor)webDriver).executeScript("mobile:setLocation", args);
Run Code Online (Sandbox Code Playgroud)
例外:
org.openqa.selenium.UnsupportedCommandException:未知的移动命令"setLocation".只有滚动,滑动,捏合,双击,两个手指点击,触摸和保持,点击,拖动来自动态,selectPickerWheelValue,才支持警报命令.(警告:服务器未提供任何堆栈跟踪信息)
当我尝试:
import org.openqa.selenium.remote.DriverCommand;
Map<String, String> args = new HashMap<String, …Run Code Online (Sandbox Code Playgroud)