我正在使用 BrowserStack 评估自动硒测试的使用。我目前正在尝试更改在 BrowserStack 上的模拟器上运行的设备的方向,无论是 Android 还是 iPad。我已经按照 Selenium 文档实现了 IRotatable 接口:
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 /session/1d410f56479543a99410140bc39dc3d0d6d94c57/orientation”。对 Android 功能的相同调用确实成功了,但它似乎并没有改变方向,因为我之后直接截取了屏幕截图并且设备仍处于纵向模式。
知道是否可以通过自动化测试改变方向,还是我应该放弃并为此使用 Screenshots API?