testing - 在 Testcafe 中运行并发测试时,有没有办法区分一个浏览器实例
问题描述
在 Testcafe 中运行并发测试时,有没有办法区分一个浏览器实例?
假设我们有两个测试。
- 一个人创建一些实体,然后对其进行更改并验证更改是否正确应用。
- 另一个删除所有实体并验证所有内容都已删除。
如果我们并行运行这些测试,它们将相互干扰。因此,必须有一种方法来接受这种并发性并将这些测试与某些原语同步,或者使它们并行并在隔离的沙箱中运行。
我宁愿选择第二个选项。可能是这样的
test('Some test', async t => {
await useSandbox(t.browser.alias, t.browser.os.name, t.browser.instanceId);
... rest of the test
})
但是 AFAIK 无法在测试代码中区分一个浏览器实例与另一个浏览器实例。或者有吗?
解决方案
TestCafe 没有一种机制来影响另一个测试的测试执行。当 TestCafe 并行启动测试时,它不会假设一个测试会干扰另一个测试。
TestCafe 以明确的 cookie、存储和用户配置文件开始每个测试。因此,如果您的数据保存在 localStorage 中,则每个测试都将独立运行。但是,如果您的数据保存在服务器端(即数据库中),那么 TestCafe 不能在沙箱中使用它,因为所有测试都通过同一个网站与数据库交互。
在这种情况下,最好一个一个地运行这两个测试,而不是同时运行。
推荐阅读
- python - 如何在pytorch中实现这个方程?
- informatica - Informatica Cloud 上的 Data Integrator 工具中的表达式
- python - Pandas/Python 中的矢量化回测器:循环遍历每只股票作为一个新的数据帧,还是将它们全部放在一个数据帧中?
- c# - 获取基类变量的派生方法
- python-3.x - 限制访问电报机器人的问题
- android - isEmpty() 函数在 android Kotlin 中无法正常工作
- ssl - 为什么我的证书链不包含 CA 根证书?
- apache-flink - upsert kafka 是否应该与压缩主题一起使用
- mysql - mysql查询到json转换器
- numpy - Numpy计算二维数组中行和列的子范围的平均值