Мой вопрос заключается в следующем: как найти имя модели устройства, причина в следующем. Я пишу Java-код для Appium и хотел бы создать определенные логические ворота, которые имеют дело с различными типами моделей, которые имеют тестовые примеры, подходящие для измерений каждого конкретного устройства.Как найти модель устройства iOS?
Я пробовал читать разные решения, некоторые из которых касались Android, возможно, они могли бы предложить некоторые полезные указатели. Однако это было не так. Список System.getProperties() (System.out). например, который, как я надеялся, может предоставить мне необходимое решение, также не был ответом. Хотя я и так ожидал.
Я бы использовал возможности.getPlatform(); Однако это недействительно, так как возможности по умолчанию равны нулю, и поэтому getPlatform() просто вернет мне имя, которое мне пришлось передать вручную. На данный момент, я подозреваю, что не может быть способа сделать это в Java (?) Я нашел код, который был сделан в JavaScript, но он предназначен для проверки типа телефона, подключенного к веб-сайту (ссылка: http://www.abeautifulsite.net/detecting-mobile-devices-with-javascript/)
Помощь очень ценится. Ниже мой метод @BeforeTest:
@BeforeTest
public void setUp() throws FileNotFoundException, IOException, IllegalMonitorStateException
{
//File app = new File("/Users/first.last/Library/Developer/Xcode/DerivedData/iPhone-aowtfpozolcnpigbxzxxxxkyiubq/Build/Products/Debug-iphonesimulator/TheWeather.app");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "iOS");
//8.4
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "8.4");
//Iphone 6-(storytelling)-igor
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Iphone 6-(storytelling)-name");
//capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
capabilities.setCapability("bundleID", "com.weather.TWC");
//70cb6f4fd5e313b16742c083ccbc1897d82b094d
capabilities.setCapability("udid", "70cb6f4fd5e313b16742c083ccbc1897d82b094d");
driver = new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
driver = (IOSDriver) new Augmenter().augment(driver);
System.out.println(capabilities.getCapability(MobileCapabilityType.DEVICE_NAME));
logger.info("Environment: iOS 8.4 and iPhone 6 plus device");
}
Благодарим за ответ, как бы я включил его в код, поскольку это похоже на строку командной строки. – SomeStudent
Поскольку вы знаете ОС, вы можете использовать это решение ["java runtime.getruntime(), получая вывод от выполнения программы командной строки"] (http://stackoverflow.com/questions/5711084/java-runtime-getruntime-getting- output-from-executing-a-command-line-program) и настроить для вашего использования синтаксический анализ результирующего результата. –