在Protractor

时间:2016-06-14 12:16:21

标签: protractor

有没有办法在量角器的beforeEach()中从jasmine数据提供者获取方法名称或数据值;我们可以在selenium中使用testNg- beforeMethod()吗?

方法之前的TestNg-  beforeMethod(final Object []数据,最终方法方法)

同样我想要protrcator的beforeEach()。

2 个答案:

答案 0 :(得分:2)

我建议的一件事是在单独的模块中定义您的数据值,然后导入您的spec文件。

#Population Estimate Loops
data <- read.csv("C:/Users/Bryan/Desktop/CREP dissertation/ch.2CREPPopulationestimate/N-mixture data/FedCREP_updated2010abuffer200m_1.csv",header=TRUE)

#28000
sims       <- 100
areaWanted <- 28000

finalPop    = matrix(nrow = 100, ncol = 1)
areaha      = matrix(nrow = 100, ncol = 1)


for (i in 1:sims) {
    allData  <- data[0,]
    ha       <- 0
    sampData <- data[0,]

    while (ha < areaWanted) {
        line       <- sample(1:nrow(data), 1)
        randomData <- data[line,]
        sampData   <- rbind(sampData, randomData)
        ha         <- (ha + (data[line, 2]))    
    }

    grass <- scale(sampData[,10])
    for (j in 1:nrow(sampData)){
        grass1          <- grass[j]
        abund           <- backTransform(linearComb(BEVIgrass, c(1, grass1), type="lambda"))
        sampData[j, 12] <- abund@estimate
        sampData[j, 13] <- (sampData[j, 12])*(sampData[j, 2])
    }

    finalPop[i] <- sum(sampData[,13])
    areaha[i]   <- sum(sampData[,2])
}

然后将它包含在您的beforeEach中,如下所示:

// Your data in its own module
'use strict'

module.exports = {
    browserSizes : {
        'Browser 1': {x: 800, y: 600},
        'Browser 2': {x: 300, y: 200}
    }
}

这样,您只需将新的浏览器大小添加到模块文件中,即可在spec文件中随时访问它。如果你想查看具体的内容,我写了一篇关于如何以这种方式使用Jasmine Data Provider的教程

http://moduscreate.com/protractor-and-jasmine-data-provider-write-once-test-many/

希望这有帮助!

答案 1 :(得分:1)

尝试这种方法,如@alexce建议

Protractor Multiple Size Browsers

describe("Testing multiple browser sizes", function () {
var sizes = [
    {x: 800, y: 600},
    {x: 300, y: 200}
];

sizes.map(function(size) {
    it("should pass the test on browser size: x='" + size.x + "', y='" + size.y + "'", function() {
        browser.driver.manage().window().setSize(size.x, size.y);
        # test logic
    });
}
});

您可能不需要jasmine-data-provider,只需连接到您需要的规范名称。