量角器:访问功能

Fra*_*Boy 5 protractor

我正在运行multiCapabilities,并且想知道是否有可能知道当前使用的功能,包括onPrepare函数和/或testcase本身.

用例是我计划在chrome和android上运行我的测试.对于Chrome,窗口应该调整为所需的尺寸,但是在selendroid上运行相同的代码会产生异常,因为该方法没有实现(同时调整设备上的窗口大小也没有意义):
所以,想法是以某种方式包装像这样的简单检查中的违规代码:
if(browser != 'android') browser.driver.manage().window().setSize(480, 800);

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

Leo*_*cci 5

我在这个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;
        }
    });
};
Run Code Online (Sandbox Code Playgroud)

然后,我稍后使用它:

if (browser.isInternetExplorer()) {...}
Run Code Online (Sandbox Code Playgroud)

对于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);
    });
};
Run Code Online (Sandbox Code Playgroud)