Automated tests TestCafe与cucumber的集成-github项目中的测试用例超时

Automated tests TestCafe与cucumber的集成-github项目中的测试用例超时,automated-tests,cucumber,bdd,e2e-testing,testcafe,Automated Tests,Cucumber,Bdd,E2e Testing,Testcafe,我一直在尝试使用javascript框架实现测试自动化,其中之一就是testCafe。我已经能够建立一个简单的TestCafe项目,并为我的应用程序运行一些测试用例。然而,现在的需求是在其中构建某种BDD支持。我在GitHub上查找了一些testCafe cucumber集成项目,但无法让它们运行。以下是我尝试过的一些:- 一, -我克隆了回购协议, -npm安装了吗, -使用npm测试运行测试用例, -空白浏览器启动,但测试未运行。我在VS代码控制台中看到此错误: × Before # fea

我一直在尝试使用javascript框架实现测试自动化,其中之一就是testCafe。我已经能够建立一个简单的TestCafe项目,并为我的应用程序运行一些测试用例。然而,现在的需求是在其中构建某种BDD支持。我在GitHub上查找了一些testCafe cucumber集成项目,但无法让它们运行。以下是我尝试过的一些:-

一, -我克隆了回购协议, -npm安装了吗, -使用npm测试运行测试用例, -空白浏览器启动,但测试未运行。我在VS代码控制台中看到此错误:

× Before # features\support\hooks.js:46
           Error: function timed out, ensure the promise resolves within 20000 milliseconds
               at Timeout._onTimeout (C:\Users\Mo\Desktop\TestCafe\github\testCafeBDD\testcafe-cucumber\node_modules\cucumber\src\user_code_runner.js:61:18)
               at ontimeout (timers.js:482:11)
               at tryOnTimeout (timers.js:317:5)
               at Timer.listOnTimeout (timers.js:277:5)



× After # features\support\hooks.js:60
       ReferenceError: testController is not defined
然后我尝试了另一个gitHub项目,即:

readme中的run命令对我不起作用,它甚至不能识别小黄瓜testcafe

当我在没有cucumber的情况下运行TestCafe测试用例时,我的package.json中有这一行

"scripts": {
    "test": "testcafe chrome Tests/ -e --proxy https.proxy.mycompany.com:8000"
  },
之所以提到代理,是因为我在代理后面,如果没有代理,浏览器将启动,但不会运行任何测试用例。我在testCafe网站上找到了这个补丁


我猜还不确定这可能是cucumber集成的问题。这些框架都不能工作,因为它们没有在任何地方设置代理。有人能给我指出正确的方向吗?如果需要设置代理,那么它需要在框架中的什么位置?举个例子会很有帮助?

TestCafe/Cucumber集成依赖于以编程方式启动

在回购协议中,搜索以下序列:

const runner = tc.createRunner();
            return runner
                .src('./test.js')
                .screenshots('reports/screenshots/', true)
                .browsers(browser)
                .run()
                .catch(function(error) {
                    console.error(error);
                });
await runner
      .browsers(browsers)
      .specs(specs)
      .steps(steps)
      .concurrency(concurrency)
      .startApp(app, appInitDelay)
      .tags(tags)
      .run(...)
或搜索此序列:

const runner = tc.createRunner();
            return runner
                .src('./test.js')
                .screenshots('reports/screenshots/', true)
                .browsers(browser)
                .run()
                .catch(function(error) {
                    console.error(error);
                });
await runner
      .browsers(browsers)
      .specs(specs)
      .steps(steps)
      .concurrency(concurrency)
      .startApp(app, appInitDelay)
      .tags(tags)
      .run(...)
在runner对象上链接方法在runmethod之前执行此操作:


TestCafe/Cucumber集成依赖于以编程方式启动

在回购协议中,搜索以下序列:

const runner = tc.createRunner();
            return runner
                .src('./test.js')
                .screenshots('reports/screenshots/', true)
                .browsers(browser)
                .run()
                .catch(function(error) {
                    console.error(error);
                });
await runner
      .browsers(browsers)
      .specs(specs)
      .steps(steps)
      .concurrency(concurrency)
      .startApp(app, appInitDelay)
      .tags(tags)
      .run(...)
或搜索此序列:

const runner = tc.createRunner();
            return runner
                .src('./test.js')
                .screenshots('reports/screenshots/', true)
                .browsers(browser)
                .run()
                .catch(function(error) {
                    console.error(error);
                });
await runner
      .browsers(browsers)
      .specs(specs)
      .steps(steps)
      .concurrency(concurrency)
      .startApp(app, appInitDelay)
      .tags(tags)
      .run(...)
在runner对象上链接方法在runmethod之前执行此操作:


是否可以将代理添加到编程接口?如果是,那么如何以及在哪里-有人可以提供一些信息吗?代理可以添加到编程接口吗?如果是,那么如何以及在哪里-有人能提供一些信息吗?