1. Go to this page and download the library: Download cucumber/messages library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use Cucumber\Messages\DecodingException;
use Cucumber\Messages\Envelope;
try {
$envelope = Envelope::fromJson($json);
}
catch (DecodingException $e) {
// handle the error
}
use Cucumber\Messages\DecodingException;
use Cucumber\Messages\Streams\NdJson\NdJsonStreamReader;
use Cucumber\Messages\Envelope;
$fh = fopen('messages.ndjson', 'r');
$reader = new NdJsonStreamReader($fh);
/** @var Generator<Envelope> $envelopes */
$envelopes = $reader->envelopes();
try {
foreach ($envelopes as $envelope) {
/** @var Envelope $envelope */
// process the message
}
}
catch (DecodingException $e) {
// handle any errors here
}
use Cucumber\Messages\Envelope;
use Cucumber\Messages\TestCaseFinished;
use Cucumber\Messages\Timestamp;
$envelope = new Envelope(
testCaseFinished: new TestCaseFinished(
timestamp: new Timestamp(
seconds: 100
)
)
);
$json = $envelope->asJson();
use Cucumber\Messages\Streams\NdJson\NdJsonStreamReader;
$fh = fopen('php://stdout', 'w');
$writer = new NdJsonStreamWriter($fh)
// write a fixed array of envelopes
$envArray = [
new Envelope('gherkinDocument': new GherkinDocument()),
new Envelope('gherkinDocument': new GherkinDocument()),
];
$writer->write($envArray);
// write lazily-evaluated envelopes
$envGenerator = (function() {
while ($envelope = Database::fetchNextEnvelope()) {
yield $envelope;
}
})();
$writer->write($envGenerator);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.