Testing TestCafe-如何在非Chrome浏览器中运行&;显示正在执行的测试

Testing TestCafe-如何在非Chrome浏览器中运行&;显示正在执行的测试,testing,firefox,mobile,microsoft-edge,testcafe,Testing,Firefox,Mobile,Microsoft Edge,Testcafe,我需要帮助设置TestCafe以在Firefox和Edge中运行。我还对学习如何模拟其他浏览器/设备(移动设备)感兴趣 我是一名QA测试人员(不是开发人员),刚到TestCafe需要一些培训材料。我在本地安装了Chrome(v86.0.4240.75)、Edge(v41.16299.1480.0)和Firefox(v83.0)。我用Chrome记录了一个测试,当运行配置设置为Chrome时,它成功运行,我可以看到测试运行完成 当在运行配置设置为Firefox的情况下运行相同的测试时,浏览器窗口不

我需要帮助设置TestCafe以在Firefox和Edge中运行。我还对学习如何模拟其他浏览器/设备(移动设备)感兴趣

我是一名QA测试人员(不是开发人员),刚到TestCafe需要一些培训材料。我在本地安装了Chrome(v86.0.4240.75)、Edge(v41.16299.1480.0)和Firefox(v83.0)。我用Chrome记录了一个测试,当运行配置设置为Chrome时,它成功运行,我可以看到测试运行完成

当在运行配置设置为Firefox的情况下运行相同的测试时,浏览器窗口不会打开,但过了一段时间后,TestCafe指示测试已成功运行完成。这就像是无头运行,但这不是我设置的方式

当运行相同的测试且运行配置设置为Edge时,将显示Edge浏览器窗口并加载要测试的页面,但测试不会超过第一步,也不会失败。它只是坐在那里,好像它在记录模式下运行,等待我告诉它进行,但它被设置为运行而不是记录


我可以像在Chrome中运行时一样在非Chrome浏览器中运行测试吗?

是的,您可以查看TestCafe关于浏览器的信息

只需使用:
testcafe“firefox:path/to/firefox:headless”tests/sample fixture.js
您的测试将在firefox中运行(需要安装浏览器)

但是,还有另一个选项可以使用多个浏览器运行测试。另一种方法是使用执行测试

按照文档(我的项目也是以这种方式实现的),您可以创建如下文件:

const createTestCafe=require('testcafe');
设testcafe=null;
createTestCafe()
。然后(tc=>{
testcafe=tc;
//开始跑步
const runner=testcafe.createRunner();
//启动应用程序并等待10秒以确保已启动
runner.startApp('npm run dev',10000);
回程转轮
//测试文件夹
.src(“./e2e/src/app.e2e-spec.js”)
//将在其中执行测试的浏览器
.browsers([/*列出您的浏览器*/])
//需要时使用的报告器(可选)
.reporter('html',“/html reporter/reports.html”)
//开始测试
.run();
})
.然后(=>{
testcafe.close();
});
这是内联解释的,但想法很简单。使用
TestCafe
API,创建
runner
,设置选项,然后运行测试

我没有添加浏览器列表。这是一次个人选举,例如,您需要FireFox和Edge。
您可以在不同的浏览器和选项中查看

此外,我的清单如下:

.browsers([
'chrome:headless:emulation:device=iphonex',
“firefox:headless:emulation:device=Samsung Galaxy S9”,
//等等。。。
])
第一个选项是浏览器本身。
headless
这是可选的,用于在不打开浏览器窗口的情况下运行(Safari不支持它)。
设备
就是模拟一个设备

此外,在文档中,以更好的方式进行解释


只需使用node runner.js执行此文件,所有测试都将在添加到列表中的每个浏览器中执行。

据我所知,您使用的是TestCafe Studio。要在TestCafe Studio中模拟移动设备,请阅读本文:

至于非Chrome浏览器的问题,原因尚不清楚。请尝试在没有TestCafe Studio的情况下使用命令行运行测试。为此,请检查TestCafe Studio的安装目录。就我而言是这样
C:\ProgramFiles\TestCafe Studio\
。 然后请运行以下命令:
node/resources/app.asar.unpacketed/node\u modules/testcafe/bin/testcafe

例如,在我的情况下,命令将是:
node“C:/Program Files/TestCafe Studio/resources/app.asar.unpacket/node_modules/TestCafe/bin/TestCafe”firefox D:\projects\TestCafe\test\functional\fixtures\api\raw\selector\TestCafe fixtures\new fixture.TestCafe

请尝试运行此命令并共享结果

还请检查您是否正在使用最新的TestCafe Studio