В настоящее время у меня есть платформа автоматизации тестирования Selenium + .NetCore для веб-приложения на основе. net, и теперь у меня есть особая потребность c запускать такие же тесты в браузере Safari на устройстве iPad. Я знаю, что я не смогу повторно использовать тот же код, который использовался для методов тестирования Selenium, но я хочу сказать, что у меня нет компьютера MacOs, и мне было интересно, возможно ли создать такие тесты appium на Windows машина, так как я не тестирую приложение iOS как таковое.
До сих пор я делал что-то вроде этого:
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Appium.Enums;
using OpenQA.Selenium.Remote;
using System;
namespace GPM_Mobile_UI_Tests
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
var capabilities = new AppiumOptions();
capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformName, "iOS");
capabilities.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, "11.0");
capabilities.AddAdditionalCapability(MobileCapabilityType.BrowserName, "Safari");
capabilities.AddAdditionalCapability(MobileCapabilityType.DeviceName, "iPhone 8");
var driver = new RemoteWebDriver(new Uri("http://localhost:4723/wd/hub"), capabilities);
driver.Navigate().GoToUrl("https://www.google.com");
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(60);
}
}
}
Но я получаю следующую ошибку:
TestMethod1
Source: UnitTest1.cs line 13
Duration: 1.3 sec
Message:
Test method GPM_Mobile_UI_Tests.UnitTest1.TestMethod1 threw exception:
OpenQA.Selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Could not determine iOS SDK version: Could not find path to Xcode by symlinks located in /var/db/xcode_select_link, or /usr/share/xcode-select/xcode_dir_link
Stack Trace:
RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
RemoteWebDriver.ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
RemoteWebDriver.ctor(Uri remoteAddress, ICapabilities desiredCapabilities, TimeSpan commandTimeout)
RemoteWebDriver.ctor(Uri remoteAddress, ICapabilities desiredCapabilities)
RemoteWebDriver.ctor(Uri remoteAddress, DriverOptions options)
UnitTest1.TestMethod1() line 27
Заранее спасибо, я новичок в этом, и если есть обходной путь или инструмент, который может достичь этой конкретной цели, я был бы более чем счастлив попробовать это из.