java - Selenium 使用 Java 旋转 iOS 设备

标签 java selenium selenium-webdriver mobile-safari appium

我有一个似乎无法解决的问题。我正在 Java 中使用 JUnit/SeleniumAppium 编写一个自动化测试应用程序,以在 iOS 模拟器 (Mobile Safari) 中测试网站。

在这个自动化测试应用程序中,我想运行一些测试,旋转设备并运行另一组测试。除了旋转件之外,我的一切都工作正常。

我发现了以下thread关于如何旋转iOS设备,有人建议使用以下Java代码:

WebDriver augmentedDriver = new Augmenter().augment(driver);
        ((Rotatable)augmentedDriver).rotate(ScreenOrientation.LANDSCAPE);

但是我收到以下强制转换异常:

java.lang.ClassCastException: org.openqa.selenium.remote.RemoteWebDriver cannot be 
cast to org.openqa.selenium.Rotatable

还有其他人遇到过这个问题并知道修复/解决方法吗?也许使用 Appium 的 JSON 有线协议(protocol)?

非常感谢任何帮助。

谢谢!

最佳答案

好吧,我终于解决了这个问题。令人烦恼的是,经过几个小时的搜索和尝试不同的事情后,这是一个非常简单的解决方案。

所需要的只是以下功能:

cap.setCapability("rotatable", true);

然后使用以下代码来旋转设备:

WebDriver augmentedDriver = new Augmenter().augment(driver);
((Rotatable)augmentedDriver).rotate(ScreenOrientation.LANDSCAPE);

是啊!问题解决了!

关于java - Selenium 使用 Java 旋转 iOS 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23332709/

相关文章:

java - JAVA中获取两个返回值

python - Selenium webdriver 无需制作 pc 服务器

java - 如何使用 selenium web 驱动程序获取特定 optgroup 下的选项?

java - 安卓手机: How to simply open an application without installation (as it is already installed) using Appium

java - 监控IntelliJ 2018.03时出现这么多Major GC?

java - 如何从 OpenGL 窗口获取 BufferedImage?

java - 在 Java 中使用 Emoji 进行字符串编码?

java - 如何使用 Selenium Hub、Node 和 Remote Webdriver 捕获图像并将其附加到 Cucumber Reports (Jenkins)?

eclipse - "testng doesn' t 支持嵌套的 "java"元素。”- 执行 build.xml 时 - JAR 目标

java - 从一个 Selenium session 到另一个 Selenium session 长期保存 Cookie 的最佳方法?