我有一个似乎无法解决的问题。我正在 Java 中使用 JUnit/Selenium
和 Appium
编写一个自动化测试应用程序,以在 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/