提问人:Wes 提问时间:8/3/2018 最后编辑:d4RkWes 更新时间:8/15/2018 访问量:1165
如何通过 Selenium 将 Xcode 模拟器设置为以编程方式旋转为 iPhone/iPad 的横向
How to set Xcode simulator to programmatically rotate to landscape for iPhone/iPad through Selenium
问:
查看 Appium 日志,它说它处于横向模式,并且横向显示在所需的功能中,例如:
[debug] [XCUITest] Setting initial orientation to 'LANDSCAPE'
当前这样做是为了设置以下内容:
descap.setCapability("orientation", "LANDSCAPE");
这样做,我能够让应用程序以横向显示。但是如何让 XCode 模拟器设备横向显示呢?
使用 Java 和 Selenium,如何告诉 Appium/XCode 模拟器以横向模式显示设备?谢谢!
答:
1赞
undetected Selenium
8/3/2018
#1
若要在横向模式下显示设备,可以使用以下代码行:
descap.setCapability("--main-frame-resizes-are-orientation-changes", "landscape");
注意:确保 descap
是 ChromeOptions()
类的实例。
评论
2赞
Wes
8/3/2018
这是 XCode 模拟器,而不是 Chrome 浏览器
0赞
Bill Hileman
8/10/2018
#2
根据 Appium 中的屏幕方向,您只需要以下行:
driver.rotate(org.openqa.selenium.ScreenOrientation.LANDSCAPE);
评论
0赞
Wes
8/13/2018
试过这个。它只旋转应用程序,而不旋转设备。
0赞
Tm Goyani
8/13/2018
#3
[[UIDevice currentDevice] setValue:
[NSNumber numberWithInteger: UIInterfaceOrientationPortrait]
forKey:@"orientation"];
评论
0赞
Wes
8/14/2018
这会旋转设备而不是应用程序吗?如果是设备,如何使用硒来破解这个?我不是应用程序开发人员,只是一个测试人员。
0赞
Charles Nough
8/14/2018
#4
好吧,我只需使用以下命令来旋转应用程序:
driver.rotate(ScreenOrientation.LANDSCAPE);
或作为一项功能:
capability.setCapability("orientation", "LANDSCAPE");
这就是我在代码方面所做的一切。为了旋转实际设备,我做了以下操作:
Open Simulator App > Hardware > Rotate Device Automatically
只要选择了该选项,这应该会导致您的所有设备沿您旋转应用程序的任何方向旋转。它不会在启动或任何操作时自行重置,因此请确保不要取消选中它。
评论
0赞
Wes
8/14/2018
不想旋转应用程序。希望以编程方式旋转设备。
0赞
Charles Nough
8/16/2018
你有没有尝试过我提到的最后一步,因为这是你想要的。
0赞
Wes
8/17/2018
事实并非如此,我正在寻找一种程序化解决方案,而不是手动解决方案。
0赞
Suban Dhyako
8/15/2018
#5
Appium 是用于自动化应用程序的工具,而不是模拟器。在 appium 中,您只能更改应用程序方向。如果您的要求是这样的,您可以使用 Cmd-Left 或 Cmd-Right 将模拟器的方向更改为横向或纵向模式。这将改变模拟器的方向。
评论
0赞
Wes
8/16/2018
我并不打算通过Appium本身来做到这一点,只是想使用编程解决方案来做到这一点。我不相信键盘快捷键会起作用。
0赞
Suban Dhyako
8/16/2018
如果您只需要在模拟器中以横向模式测试应用程序,则 Cmd+Left 是合适的解决方案。如果您在 Mac 上运行模拟器,则可以使用硬件>左旋转 |旋转右菜单。此外,“向左旋转”的键盘快捷键为 ⌘←,向右旋转的键盘快捷键为 ⌘→。
0赞
Wes
8/17/2018
同样,不要寻找键盘快捷键或手动调整设备方向。正如我已经多次说过的那样,我正在寻找一种程序化解决方案。
评论