You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php
namespace Prometeo\CommandsBundle\Commands;
use Symfony\Component\Console\Command\Command as ContainerAwareCommand;use Symfony\Component\Console\Input\InputArgument;use Symfony\Component\Console\Input\InputInterface;use Symfony\Component\Console\Input\InputOption;use Symfony\Component\Console\Output\OutputInterface;use Doctrine\ORM\EntityManagerInterface;use Symfony\Component\DependencyInjection\ContainerInterface;
class Selenium2Katalon extends ContainerAwareCommand{ private $em; public function __construct(ContainerInterface $container) { parent::__construct(); $this->em = $container->get('doctrine')->getManager(); } /** * {@inheritdoc} */ public function configure(): void { $this->setName('prometeo:test:selenium2katalon'); $this->addArgument( 'seleniumfile', InputArgument::REQUIRED, 'Selenium File in SIDE format' ) ; $this->addArgument( 'katalonfile', InputArgument::OPTIONAL, 'Katalon File in HTML format' ); } /** * {@inheritdoc} */ public function execute(InputInterface $input, OutputInterface $output): void { $seleniumfile=$input->getArgument('seleniumfile'); if ($input->getArgument('prefix')) { $katalonfile=$input->getArgument('katalonfile'); }else{ $katalonfile=$seleniumfile.'.html'; } $selenium=file_get_contents($seleniumfile); $seleniumobj=json_decode($selenium,true); $header="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">
<head> <meta content=\"text/html; charset=UTF-8\" http-equiv=\"content-type\" />
<title>".$seleniumobj['name']."</title> </head>";
$body='<body>'; foreach($seleniumobj['tests'] as $test){ $body.="<table cellpadding=\"1\" cellspacing=\"1\" border=\"1\">
<thead> <tr><td rowspan=\"1\" colspan=\"3\">".$test['name']."</td></tr>
</thead> <tbody>";
foreach($test['commands'] as $command){ $body.="<tr><td>".$command['command']."</td><td>".$command['target']."<datalist>"; foreach($command['targets'] as $target){ $body.="<option>".$target[0]."</option>"; } $body.='</datalist></td><td>'.$command['value']."</td></tr>"; } $body.="</tbody></table>"; } $body='</body></html>'; file_put_contents($katalonfile,$header.$body); echo "Conversion finalizada"; }
}
|