[英]How to query Firestore from a k6 script?
我们正在尝试通过集合上的 k6 脚本查询 Firestore。
为了集成 Firestore 库,我们在 k6 网站上遵循了本指南:
https://k6.io/docs/using-k6/modules/#setting-up-the-bundler
当我们运行我们的脚本时,我们得到了这个奇怪的错误,我们在 Firestore 文档中找不到:
@firebase / firestore:Firestore(8.1.2):查询'Query(target = Target(my_collection_here,orderBy:[timestamp(asc), name (asc)])的AsyncQueue初始化失败:TypeError:Value不是 object:未定义
脚本是这样的:
import 'core-js/stable';
import 'regenerator-runtime/runtime';
import firebase from 'firebase/app';
import 'firebase/firestore';
import { sleep } from 'k6';
import behavior from './tests/behaviors/index.js';
import scenariosAndStages from './tests/options/index.js';
const firebaseConfig = {
apiKey: ***,
authDomain: ***,
projectId: ***,
storageBucket: ***,
messagingSenderId: ***,
appId: ***,
};
firebase.initializeApp(firebaseConfig);
const db = firebase.firestore();
const conf = {
multiply: __ENV.MULTIPLY || 1,
};
export const options = {
ext: {
loadimpact: {
name: __ENV.NAME,
projectID: __ENV.PROJECT_ID,
distribution: {
'amazon:us:ashburn': { loadZone: 'amazon:us:ashburn', percent: 100 },
},
},
},
discardResponseBodies: true,
scenarios: __ENV.SCENARIOS ? { [__ENV.SCENARIOS]: scenariosAndStages.scenarios[__ENV.SCENARIOS] } : undefined,
stages: scenariosAndStages.stages[__ENV.STAGES],
};
export default () => {
db
.collection('my_collection_here')
.orderBy('timestamp')
.get()
.then(console.log);
sleep(10);
behavior.myBehavior('application load test one call', conf.multiply);
};
我们做错了什么?
经过一些简单的研究,我开始意识到Firestore JS SDK 需要 Node.js才能达到 function,因此根据k6 文档,它与 k6 不兼容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.