How to set-up Automation in C# for iOS Native Safari Browser using Appium?
Steps To Follow:
The below test code was tested in C# using Visual Studio using Selenium & Appium.
Set-up Configurations to connect, start Appium server and automate:
public static IWebDriver driver;
DesiredCapabilities capabilities;
System.Diagnostics.Process process;
System.Diagnostics.ProcessStartInfo startInfo;
AppiumLocalService service;
public void iOSWebDriverInitialise()
{
capabilities = new DesiredCapabilities();
process = new System.Diagnostics.Process();
startInfo = new System.Diagnostics.ProcessStartInfo();
service = AppiumLocalService.BuildDefaultService();
//To connect to the already open iOS simulator in Mac capabilities.SetCapability("app", "");
capabilities.SetCapability("platformName", "iOS");
capabilities.SetCapability("platformVersion", "11.2");
capabilities.SetCapability("deviceName", "iPhone 6");
//To launch the native Safari Browser in the iOS simulator in Mac to automate test scripts
capabilities.SetCapability("bundleId", "com.apple.mobilesafari");
capabilities.SetCapability("automationName", "XCUITest");
capabilities.SetCapability("WebDriverAgent", "http://localhost:8100");
driver = new IOSDriver<AppiumWebElement>(new Uri("http://IPAddressOfAppiumServer:PortOfAppiumServer/wd/hub"), capabilities, TimeSpan.FromSeconds(60));
}
The above code programatically starts the appium server and connects to the already open simulator as long the rest of the details such as IP-address, Port & WebDriverAgent port of Appium Server match.