如何使用在测试文件中创建的数组

时间:2018-07-12 10:28:50

标签: javascript arrays automated-tests testcafe

因此,我为邮政编码列表创建了一个js数组。数组如下代码所示:-

//postcode.js file var postcode = [ "b28 8ND", "b49 6BD", "b28 0ST", "b31 4SU", "B92 9AH", ];

我需要做的是在我的测试中,为该js文件随机选择一个邮政编码,以便在运行自动化测试时输入文本字段。我该怎么做呢?一个例子将不胜感激,因为我在互联网上找不到很多东西,而且我对TestCafe和javascript很陌生。以下是测试文件中的内容:-

//test.js file .click(page.create.withAttribute('mattooltip', 'Create job'))

这时我需要从postcode.js文件中随机选择其中1个邮编

2 个答案:

答案 0 :(得分:1)

据我了解,您想从数组中选择一个随机元素

var arr = ['a', 'b', 'c', 'd'];
let randomIndex = Math.floor(Math.random() * arr.length );
alert(arr[randomIndex])

如果我错了,这不是您想要的,请编辑您的帖子,并更好地解释您的问题

答案 1 :(得分:1)

由于“邮政编码”是一个数组,因此可以生成如下所示的随机索引:

var s = 55;
var random = function() {
   s = Math.sin(s) * 10000;
   return s - Math.floor(s);
};
//...
var postIndex = Math.floor(random() * postcode.length);
var currentPost = postcode[postIndex];

例如:

import { Selector } from 'testcafe';

fixture `Getting Started`
    .page `http://devexpress.github.io/testcafe/example`;

const postcode = [
    "b28 8ND", 
    "b49 6BD", 
    "b28 0ST", 
    "b31 4SU",
    "B92 9AH",
];

var s = 55
var random = function() {
    s = Math.sin(s) * 10000;
    return s - Math.floor(s);
};

test('My first test', async t => {

    var postIndex = Math.floor(random() * postcode.length);
    var currentPost = postcode[postIndex];

    console.log(currentPost)

    await t        
        .typeText('#developer-name', currentPost);
});