Skip to content

Instantly share code, notes, and snippets.

@dgzlopes
Created May 13, 2024 09:14
Show Gist options
  • Save dgzlopes/cd3e4f7c4b028ac4e92850d699ac43f7 to your computer and use it in GitHub Desktop.
Save dgzlopes/cd3e4f7c4b028ac4e92850d699ac43f7 to your computer and use it in GitHub Desktop.
import { parseHTML } from 'k6/html';
import http from 'k6/http';
var PRODUCT = __ENV.PRODUCT || 'K6';
export default function () {
const res = http.get('https://grafana.com/docs/grafana-cloud/whats-new/#whats-new-in-grafana-cloud');
const doc = parseHTML(res.body);
const cards = doc.find('.whats-new-card').toArray();
var results = [];
for (let card of cards) {
if (card.find('.docs-labels__product-cloud').text() !== PRODUCT) {
continue;
}
var release_date_raw = card.find('.text-right-not-mobile').text();
if (!release_date_raw.includes('Release date:')) {
throw new Error(`Unexpected release date format: ${release_date_raw}`);
}
var release_date = release_date_raw.replace('Release date:', '').trim();
results.push({
title: card.find('h2').text(),
stage: card.find('.docs-labels__stage').text(),
release_date: release_date
});
}
results.sort((a, b) => new Date(a.release_date) - new Date(b.release_date));
console.log(JSON.stringify(results, null, 2));
}
export function handleSummary() {
return {};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment