Subir scripts y archivos de datos de k6
Cada test k6 en LoadFocus se ejecuta a partir de un script que tú escribes. La sección Script Configuration en la página del nuevo test k6 es donde subes ese script, junto con los archivos de datos que lee en tiempo de ejecución.
Lo que necesitas
- Un script de test k6, escrito en JavaScript (
.js) o TypeScript (.ts). Es el único archivo obligatorio. - Archivos de datos, si tu script lee datos externos. Un CSV de cuentas de usuario o un JSON de payloads son los casos más comunes.
Subir tus archivos
Abre New k6 Test y desplázate hasta Script Configuration. Puedes arrastrar tus archivos al área de subida o hacer clic en Upload k6 Scripts & Files para buscarlos.
Sube el script y sus archivos de datos juntos. Terminan en el mismo directorio cuando se ejecuta el test, así que un script que lee users.csv lo encuentra justo a su lado.
Tipos de archivo admitidos
| Extension | Uso habitual |
|---|---|
.js | Tu script de test k6 |
.ts | Un script de test en TypeScript |
.csv | Datos por fila, como cuentas o términos de búsqueda |
.json | Payloads estructurados o fixtures |
.txt | Datos en texto plano |
.env, .properties | Valores de configuración que lee tu script |
Leer un archivo de datos desde tu script
k6 lee archivos con open(), y el archivo está junto a tu script, así que basta con una ruta relativa. Carga los datos una sola vez en la etapa de init en lugar de en cada iteración, para que todos los usuarios virtuales la compartan:
import { SharedArray } from 'k6/data';import http from 'k6/http';const users = new SharedArray('users', function () {return open('./users.csv').split('\n').slice(1).filter(Boolean).map((line) => {const [username, password] = line.split(',');return { username, password };});});export default function () {const user = users[Math.floor(Math.random() * users.length)];http.post('https://example.com/login', {username: user.username,password: user.password,});}
SharedArray mantiene una sola copia de los datos en memoria para todos los usuarios virtuales. Sin ella, cada usuario virtual analiza su propia copia, lo que consume memoria que preferirías dedicar a la carga.
Cómo se comportan los archivos entre motores
Un test con suficientes usuarios virtuales se ejecuta en más de un motor k6. Cada motor recibe los mismos archivos subidos, así que cada uno tiene su propia copia de tus datos.
Esto importa cuando tus datos no deben reutilizarse. Si cada fila representa una cuenta o un cupón de un solo uso, dos motores pueden elegir la misma fila, porque ninguno sabe lo que el otro ya ha tomado. Cuando un valor debe consumirse exactamente una vez, haz que el script lo solicite a un endpoint que tú controles en lugar de leerlo de un archivo.
Después de subir
Tus archivos aparecen listados bajo el área de subida, donde puedes eliminar los que hayas añadido por error y subir un reemplazo. Una vez que el script está en su sitio, configura tus usuarios virtuales, la duración y las ubicaciones del test, y luego inicia el test.