Protractor 量角器:访问能力

Protractor 量角器:访问能力,protractor,Protractor,我使用的是multiCapabilities,我想知道是否有可能知道onPrepare函数和/或testcase本身当前使用了什么功能 用例是我计划在chrome和android上运行我的测试。对于Chrome,窗口的大小应该调整到所需的尺寸,但是在selendroid上运行相同的代码会出现异常,因为该方法没有实现(在设备上调整窗口的大小也没有真正意义): 因此,我们的想法是以某种方式将有问题的代码包装在一个简单的检查中,如下所示: if(浏览器!=“android”) browser.driv

我使用的是multiCapabilities,我想知道是否有可能知道onPrepare函数和/或testcase本身当前使用了什么功能

用例是我计划在chrome和android上运行我的测试。对于Chrome,窗口的大小应该调整到所需的尺寸,但是在selendroid上运行相同的代码会出现异常,因为该方法没有实现(在设备上调整窗口的大小也没有真正意义):
因此,我们的想法是以某种方式将有问题的代码包装在一个简单的检查中,如下所示:
if(浏览器!=“android”)
browser.driver.manage().window().setSize(480800)


还有其他用例,但这是目前最重要的一个。

我在
onPrepare
部分做了类似的工作,例如

// Return if current browser is IE, optionally specifying if it is a particular IE version
browser.isInternetExplorer = function(ver) {
    var browserName, version, ie;

    return browser.getCapabilities().then(function(s) { 
        browserName = s.caps_.browserName;
        version = s.caps_.version;

        ie = /i.*explore/.test(browserName);

        if (ver == null) {
            return ie;
        } else {
            return ie && ver.toString() === version;
        }
    });
};
然后,稍后,我会这样使用它:

if (browser.isInternetExplorer()) {...}
对于android来说,这应该是可行的:

browser.isAndroid = function(ver) {
    var browserName, version;

    return browser.getCapabilities().then(function(s) { 
        browserName = s.caps_.browserName;
        version = s.caps_.version;

        return /droid/.test(browserName);
    });
};