我正在使用BrowserStack评估自动硒测试的使用。我目前正在尝试更改在Android或iPad上的BrowserStack上模拟器上运行的设备的方向。我已经实现了IRotatable接口%的硒文档:通过BrowserStack中的Selenium测试更改方向
public class RotatableRemoteWebDriver : RemoteWebDriver, IRotatable
{
public RotatableRemoteWebDriver(Uri uri, DesiredCapabilities dc, ScreenOrientation initialOrientation = ScreenOrientation.Portrait): base(uri, dc)
{
this.Orientation = initialOrientation;
}
public ScreenOrientation Orientation
{
get
{
var orientationResponse = this.Execute(DriverCommand.GetOrientation, null);
return (ScreenOrientation)Enum.Parse(typeof(ScreenOrientation), orientationResponse.Value.ToString(), true);
}
set
{
var response = this.Execute(DriverCommand.SetOrientation, new Dictionary<string, object>() { { "orientation", value.ToString().ToUpperInvariant() } });
}
}
}
当我试图与iPad功能使用此我得到直接的异常说“为资源的无效方法:POST /会话/ 1d410f56479543a99410140bc39dc3d0d6d94c57 /方向”。对于Android功能的相同调用确实成功,但它似乎没有改变方向,因为之后我直接截屏并且设备仍处于肖像模式。
任何想法,如果它是完全可能通过自动化测试来改变方向,还是应该放弃并使用Screenshots API来做到这一点?
感谢您的回复,我现在看到iPhone驱动程序不支持它。对于android来说,我将debug设置为true,并看到Set Orientation LANDSCAPE命令已发送并似乎被理解。但是我在改变方向之前和之后拍摄的截图是相同的,都是纵向截图。 – kkara
哦..如果网站没有响应,就会发生这种情况(不会更改方向更改的尺寸,您是否可以ping网站? – dhimil