量角器 - 为测试生成随机数据

Wis*_*hnu 4 angularjs angularjs-e2e protractor gulp-protractor

我一次运行多个测试服。目前我正在对数据进行硬编码以进行测试

例子

element(by.name('email')).sendKeys(xxxxxx)
element(by.name('password')).sendKeys('password')
Run Code Online (Sandbox Code Playgroud)

此电子邮件字段具有唯一键约束,因此每次运行测试时,我都必须手动更改此值。有很多这样的领域我需要改变,而且我很难手动完成。这在量角器 e2e 测试中通常是如何处理的。?

是否有任何可靠的第三方库或量角器中的任何选项来生成用于测试的模拟数据。所以每次它都会随机生成,就像我可以从库中获取姓名、有效的电子邮件字符串、电话号码、其他有意义的字符串等。

我正在使用带有 jasmine 的量角器对有角度的单页应用程序进行 e2e 测试。

任何帮助是极大的赞赏。

谢谢!

KCa*_*nna 5

我刚刚创建了自己的函数库,可以生成我需要的数据。例如这里是我用来生成随机数的函数:

//Gets a random number between min and max
getRandomNum = function(min, max){
    return parseInt(Math.random() * (max - min) + min);
};
Run Code Online (Sandbox Code Playgroud)

和这个字符串:

getRandomString = function(length) {
var string = '';
var letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' //Include numbers if you want
        for (i = 0; i < length; i++) {
            string += letters.charAt(Math.floor(Math.random() * letters.length));
        }
        return string;
    }
Run Code Online (Sandbox Code Playgroud)

您可以操作这些函数来返回电子邮件地址或您需要的任何格式。或者,如果您对如何生成随机字符串/数字非常懒惰或非常挑剔,则可以查看https://www.npmjs.com/package/random-js