endpoint() public method

public endpoint ( $endpoint )
 private function extract()
 {
     $player = new Player(new Client());
     $scenario = new Scenario();
     $scenario->endpoint('http://londonbusroutes.net')->visit("url('/changes.htm')")->expect('status_code() == 200')->extract('table_count', 'css("table").count()');
     $r = $player->run($scenario);
     return $r['table_count'];
 }
 private function extractRouteNumbers()
 {
     $player = $this->getPlayer();
     $scenario = new Scenario();
     $offline = false;
     $endpoint = $offline ? 'http://127.0.0.1/legacy' : 'http://londonbusroutes.net';
     $scenario->endpoint($endpoint)->visit("url('/details.htm')")->expect('status_code() == 200')->extract('route_numbers', 'css("pre > font > a").extract("_text")')->extract('nodes', 'css("pre > font > *").extract("_text")');
     $r = $player->run($scenario);
     $routeNumbers = $this->filterRouteNumbers($r['route_numbers']);
     $data = $this->filterRouteDetails($r['nodes'], $routeNumbers);
     return $data;
 }
Ejemplo n.º 3
0
 private function loadScenario($data, array $references)
 {
     $title = null;
     if (isset($data['options']['title'])) {
         $title = $data['options']['title'];
     }
     $scenario = new Scenario($title);
     if (isset($data['options'])) {
         if (isset($data['options']['auth'])) {
             $auth = $data['options']['auth'];
             if (is_array($auth)) {
                 $scenario->auth($auth[0], $auth[1]);
             } else {
                 $scenario->auth($auth);
             }
         }
         if (isset($data['options']['key'])) {
             $scenario->key($data['options']['key']);
         }
         if (isset($data['options']['delay'])) {
             $scenario->delay($data['options']['delay']);
         }
         if (isset($data['options']['endpoint'])) {
             $scenario->endpoint($data['options']['endpoint']);
         }
         if (isset($data['options']['variables'])) {
             foreach ($data['options']['variables'] as $key => $value) {
                 $scenario->value($key, $value);
             }
         }
         if (isset($data['options']['headers'])) {
             foreach ($data['options']['headers'] as $key => $value) {
                 $scenario->header($key, $value);
             }
         }
     }
     $first = true;
     foreach ($data['steps'] as $config) {
         if ($first) {
             if (!isset($config['visit']) && !isset($config['add'])) {
                 throw new LogicException('visit must be called as a first step.');
             }
             $step = $scenario;
             $first = false;
         }
         if (isset($config['visit'])) {
             $step = $step->visit($config['visit'], isset($config['method']) ? $config['method'] : 'GET', isset($config['params']) ? $config['params'] : []);
         } elseif (isset($config['click'])) {
             $step = $step->click($config['click']);
         } elseif (isset($config['submit'])) {
             $step = $step->submit($config['submit'], isset($config['params']) ? $config['params'] : []);
         } elseif (isset($config['follow'])) {
             $step = $step->follow();
         } elseif (isset($config['reload'])) {
             $step = $step->reload();
         } elseif (isset($config['add'])) {
             $key = $config['add'];
             if (!isset($references[$key])) {
                 throw new LogicException(sprintf('Scenario "%s" does not exist.', $key));
             }
             $step = $step->add($references[$key]);
             continue;
         } else {
             throw new LogicException(sprintf('Step "%s" must define a "visit", "click", "submit", "follow", "reload", or "add" item.', $title));
         }
         if (isset($config['title'])) {
             $step->title($config['title']);
         }
         if (isset($config['expect'])) {
             $this->ensureConfigurationPropertyIsArray($config, 'expect');
             foreach ($config['expect'] as $expectation) {
                 $step->expect($expectation);
             }
         }
         if (isset($config['delay'])) {
             $step->delay($config['delay']);
         }
         if (isset($config['assert'])) {
             $this->ensureConfigurationPropertyIsArray($config, 'assert');
             foreach ($config['assert'] as $assertion) {
                 $step->assert($assertion);
             }
         }
         if (isset($config['extract'])) {
             $this->ensureConfigurationPropertyIsArray($config, 'extract');
             foreach ($config['extract'] as $name => $cfg) {
                 if (is_array($cfg)) {
                     $step->extract($name, $cfg[0], $cfg[1]);
                 } else {
                     $step->extract($name, $cfg);
                 }
             }
         }
         if (isset($config['samples'])) {
             $step->samples($config['samples']);
         }
         if (isset($config['blackfire'])) {
             $step->blackfire($config['blackfire']);
         }
         if (isset($config['json']) && $config['json']) {
             $step->json();
         }
         if (isset($config['headers'])) {
             $this->ensureConfigurationPropertyIsArray($config, 'headers');
             foreach ($config['headers'] as $key => $value) {
                 $step->header($key, $value);
             }
         }
     }
     return $scenario;
 }