0

我正在尝试将 Bryntum Siesta 4.3.2-lite 实施到 Sencha ExtJS 6.2 maded 应用程序并继续关注 ExtJS Essentials book

我已经创建了 Siesta Test Runner'sindex.html以及index.js.. 收集了所需的 Siesta 文件;通过 Siesta/resources 文件夹中的 js 和 css。当我在浏览器上运行 Test Runner 时,它给出了这个错误:

siesta-all.js:45330 Uncaught TypeError: Cannot read property 'store' of undefined
at constructor.initComponent (http://nuri/webex/oweb/test/Siesta/js/siesta-all.js:45330:1458463)

我在 Bryntum论坛上找到了答案,并说不要包含要利用的 ExtJS 文件。我做了同样的事情并评论了 ExtJS 部分,但错误仍然存​​在。欢迎任何建议。

一些片段: Test Runner (index.html);

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <title>Siesta Examples</title>

    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/extjs/6.2.0/classic/theme-neptune/resources/theme-neptune-all.css">
    <!-- Siesta CSS -->
    <link rel="stylesheet" type="text/css" href="../Siesta/css/siesta-all.css">

    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/extjs/6.2.0/ext-all-debug.js"></script>
    <!-- Siesta application -->
    <script type="text/javascript" src="../Siesta/js/siesta-all.js"></script>

    <!-- Additional Siesta files, not required if you don't use code coverage feature -->
    <!-- <script type="text/javascript" src="../siesta-coverage-all.js"></script> -->

    <!-- A sample utility class with convenience methods helping you write your tests more efficiently -->
    <!-- <script src="lib/Your.Test.Class.js" type="text/javascript"></script> -->

    <!-- The test harness -->
    <script type="text/javascript" src="index.js"></script>
</head>
<body>
</body>
</html>

线束(index.js);

var harness = new Siesta.Harness.Browser.ExtJS();
harness.configure({
    title: 'OWeb Test',
    //viewDOM: true,
    preload: [
        //'../../../webex/build/production/OWeb/app.js',
        //'../../../webex/build/production/OWeb/resources/OWeb-all.css',
        //'https://cdnjs.cloudflare.com/ajax/libs/extjs/6.2.0/classic/theme-neptune/resources/theme-neptune-all.css',
        //'https://cdnjs.cloudflare.com/ajax/libs/extjs/6.2.0/ext-all-debug.js'
    ]
});
harness.start(
    {
        group: 'Login',
        items: [
            '010_login.t.js'
        ]
    }
);

测试文件(010_login.t.js);

describe('Testing Login screen', function (t) {
    t.it('Should to login', function (t) {
        t.chain(
            {waitForCQ: 'window[title=Login]'},
            {click: '>> textfield[itemId=userName]'},
            {type: 'me@adress.com', target:'>> textfield[itemId=userName]'},
            {click: '>> textfield[itemId=edtPassword]'},
            {type: 'superSecretPass', target:'>> textfield[itemId=edtPassword]'},
            {click: '>> button[text=Submit]'},
            {waitForCQNotFound: 'window[title=Login]', desc: 'Login window should destroy'}
        )
    })
});
4

1 回答 1

2

在您的代码段中 - 您仍然在工具 HTML 页面上包含 Ext JS 库文件(来自 cloudflare)。您需要删除这些文件。可以在此处找到示例线束 html 页面:

https://www.bryntum.com/docs/siesta/#!/guide/siesta_getting_started

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

    <title>Sample harness</title>

    <link rel="stylesheet" type="text/css" href="__SIESTA_FOLDER__/resources/css/siesta-all.css">
    <script type="text/javascript" src="__SIESTA_FOLDER__/siesta-all.js"></script>

    <script type="text/javascript" src="index.js"></script>
</head>

<body>
</body>

于 2017-10-03T10:36:25.757 回答