CrawlerTrait
trait CrawlerTrait (View source)
Traits
InteractsWithPages |
Properties
protected Crawler | $crawler | The DomCrawler instance. | from InteractsWithPages |
protected array | $inputs | All of the stored inputs for the current page. | from InteractsWithPages |
protected array | $uploads | All of the stored uploads for the current page. | from InteractsWithPages |
protected Response | $response | The last response returned by the application. | |
protected string | $currentUri | The current URL being viewed. | |
protected array | $serverVariables | Additional server variables for the request. |
Methods
$this | visit(string $uri) Visit the given URI with a GET request. | from InteractsWithPages |
$this | makeRequest(string $method, string $uri, array $parameters = [], array $cookies = [], array $files = []) Make a request to the application and create a Crawler instance. | from InteractsWithPages |
$this | makeRequestUsingForm(Form $form, array $uploads = []) Make a request to the application using the given form. | from InteractsWithPages |
array | extractParametersFromForm(Form $form) Extract the parameters from the given form. | from InteractsWithPages |
$this | followRedirects() Follow redirects from the last response. | from InteractsWithPages |
$this | clearInputs() Clear the inputs for the current page. | from InteractsWithPages |
$this | seePageIs(string $uri) Assert that the current page matches a given URI. | from InteractsWithPages |
void | assertPageLoaded(string $uri, string|null $message = null) Assert that a given page successfully loaded. | from InteractsWithPages |
$this | see(string $text, bool $negate = false) Assert that a given string is seen on the page. | from InteractsWithPages |
$this | dontSee(string $text) Assert that a given string is not seen on the page. | from InteractsWithPages |
$this | seeInElement(string $element, string $text, bool $negate = false) Assert that a given string is seen inside an element. | from InteractsWithPages |
$this | dontSeeInElement(string $element, string $text) Assert that a given string is not seen inside an element. | from InteractsWithPages |
bool | hasInElement(string $element, string $text) Check if the page contains text within the given element. | from InteractsWithPages |
$this | seeLink(string $text, string|null $url = null) Assert that a given link is seen on the page. | from InteractsWithPages |
$this | dontSeeLink(string $text, string|null $url = null) Assert that a given link is not seen on the page. | from InteractsWithPages |
bool | hasLink(string $text, string|null $url = null) Check if the page has a link with the given $text and optional $url. | from InteractsWithPages |
string | addRootToRelativeUrl(string $url) Add a root if the URL is relative (helper method of the hasLink function). | from InteractsWithPages |
$this | seeInField(string $selector, string $expected) Assert that an input field contains the given value. | from InteractsWithPages |
$this | dontSeeInField(string $selector, string $value) Assert that an input field does not contain the given value. | from InteractsWithPages |
$this | seeIsChecked(string $selector) Assert that the given checkbox is selected. | from InteractsWithPages |
$this | dontSeeIsChecked(string $selector) Assert that the given checkbox is not selected. | from InteractsWithPages |
$this | seeIsSelected(string $selector, string $expected) Assert that the expected value is selected. | from InteractsWithPages |
$this | dontSeeIsSelected(string $selector, string $value) Assert that the given value is not selected. | from InteractsWithPages |
string | getInputOrTextAreaValue(string $selector) Get the value of an input or textarea. | from InteractsWithPages |
string|null | getSelectedValue(string $selector) Get the selected value of a select field or radio group. | from InteractsWithPages |
string|null | getSelectedValueFromSelect(Crawler $field) Get the selected value from a select field. | from InteractsWithPages |
string|null | getCheckedValueFromRadioGroup(Crawler $radioGroup) Get the checked value from a radio group. | from InteractsWithPages |
bool | isChecked(string $selector) Return true if the given checkbox is checked, false otherwise. | from InteractsWithPages |
$this | click(string $name) Click a link with the given body, name, or ID attribute. | from InteractsWithPages |
$this | type(string $text, string $element) Fill an input field with the given text. | from InteractsWithPages |
$this | check(string $element) Check a checkbox on the page. | from InteractsWithPages |
$this | uncheck(string $element) Uncheck a checkbox on the page. | from InteractsWithPages |
$this | select(string $option, string $element) Select an option from a drop-down. | from InteractsWithPages |
$this | attach(string $absolutePath, string $element) Attach a file to a form field on the page. | from InteractsWithPages |
$this | press(string $buttonText) Submit a form using the button with the given text value. | from InteractsWithPages |
$this | submitForm(string $buttonText, array $inputs = [], array $uploads = []) Submit a form on the page with the given input. | from InteractsWithPages |
Form | fillForm(string $buttonText, array $inputs = []) Fill the form with the given data. | from InteractsWithPages |
Form | getForm(string|null $buttonText = null) Get the form from the page with the given submit button text. | from InteractsWithPages |
$this | storeInput(string $element, string $text) Store a form input in the local array. | from InteractsWithPages |
void | assertFilterProducesResults(string $filter) Assert that a filtered Crawler returns nodes. | from InteractsWithPages |
Crawler | filterByNameOrId(string $name, array|string $elements = '*') Filter elements according to the given name or ID attribute. | from InteractsWithPages |
array | convertUploadsForTesting(Form $form, array $uploads) Convert the given uploads to UploadedFile instances. | from InteractsWithPages |
UploadedFile | getUploadedFileForTesting(array $file, array $uploads, string $name) Create an UploadedFile instance for testing. | from InteractsWithPages |
$this | json(string $method, string $uri, array $data = [], array $headers = []) Visit the given URI with a JSON request. | |
$this | get(string $uri, array $headers = []) Visit the given URI with a GET request. | |
$this | post(string $uri, array $data = [], array $headers = []) Visit the given URI with a POST request. | |
$this | put(string $uri, array $data = [], array $headers = []) Visit the given URI with a PUT request. | |
$this | patch(string $uri, array $data = [], array $headers = []) Visit the given URI with a PATCH request. | |
$this | delete(string $uri, array $data = [], array $headers = []) Visit the given URI with a DELETE request. | |
$this | handle(Request $request) Send the given request through the application. | |
$this | shouldReturnJson(array $data = null) Assert that the response contains JSON. | |
$this|null | receiveJson(array|null $data = null) Assert that the response contains JSON. | |
$this | seeJsonEquals(array $data) Assert that the response contains an exact JSON array. | |
$this | seeJson(array $data = null, bool $negate = false) Assert that the response contains JSON. | |
$this | dontSeeJson(array $data = null) Assert that the response doesn't contain JSON. | |
$this | seeJsonContains(array $data, bool $negate = false) Assert that the response contains the given JSON. | |
string | formatToExpectedJson(string $key, mixed $value) Format the given key and value into a JSON string for expectation checks. | |
$this | seeStatusCode(int $status) Asserts that the status code of the response matches the given code. | |
$this | seeHeader(string $headerName, mixed $value = null) Asserts that the response contains the given header and equals the optional value. | |
$this | seeCookie(string $cookieName, mixed $value = null) Asserts that the response contains the given cookie and equals the optional value. | |
$this | withServerVariables(array $server) Define a set of server variables to be sent with the requests. | |
Response | call(string $method, string $uri, array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null) Call the given URI and return the Response. | |
Response | callSecure(string $method, string $uri, array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null) Call the given HTTPS URI and return the Response. | |
Response | action(string $method, string $action, array $wildcards = [], array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null) Call a controller action and return the Response. | |
Response | route(string $method, string $name, array $routeParameters = [], array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null) Call a named route and return the Response. | |
string | prepareUrlForRequest(string $uri) Turn the given URI into a fully qualified URL. | |
array | transformHeadersToServerVars(array $headers) Transform headers array to array of $SERVER vars with HTTP* format. | |
void | dump() Dump the content from the last response. |
Details
$this visit(string $uri)
Visit the given URI with a GET request.
protected $this makeRequest(string $method, string $uri, array $parameters = [], array $cookies = [], array $files = [])
Make a request to the application and create a Crawler instance.
protected $this makeRequestUsingForm(Form $form, array $uploads = [])
Make a request to the application using the given form.
protected array extractParametersFromForm(Form $form)
Extract the parameters from the given form.
protected $this followRedirects()
Follow redirects from the last response.
protected $this clearInputs()
Clear the inputs for the current page.
protected $this seePageIs(string $uri)
Assert that the current page matches a given URI.
protected void assertPageLoaded(string $uri, string|null $message = null)
Assert that a given page successfully loaded.
protected $this see(string $text, bool $negate = false)
Assert that a given string is seen on the page.
protected $this dontSee(string $text)
Assert that a given string is not seen on the page.
$this seeInElement(string $element, string $text, bool $negate = false)
Assert that a given string is seen inside an element.
$this dontSeeInElement(string $element, string $text)
Assert that a given string is not seen inside an element.
protected bool hasInElement(string $element, string $text)
Check if the page contains text within the given element.
$this seeLink(string $text, string|null $url = null)
Assert that a given link is seen on the page.
$this dontSeeLink(string $text, string|null $url = null)
Assert that a given link is not seen on the page.
protected bool hasLink(string $text, string|null $url = null)
Check if the page has a link with the given $text and optional $url.
protected string addRootToRelativeUrl(string $url)
Add a root if the URL is relative (helper method of the hasLink function).
$this seeInField(string $selector, string $expected)
Assert that an input field contains the given value.
$this dontSeeInField(string $selector, string $value)
Assert that an input field does not contain the given value.
$this seeIsChecked(string $selector)
Assert that the given checkbox is selected.
$this dontSeeIsChecked(string $selector)
Assert that the given checkbox is not selected.
$this seeIsSelected(string $selector, string $expected)
Assert that the expected value is selected.
$this dontSeeIsSelected(string $selector, string $value)
Assert that the given value is not selected.
protected string getInputOrTextAreaValue(string $selector)
Get the value of an input or textarea.
protected string|null getSelectedValue(string $selector)
Get the selected value of a select field or radio group.
protected string|null getSelectedValueFromSelect(Crawler $field)
Get the selected value from a select field.
protected string|null getCheckedValueFromRadioGroup(Crawler $radioGroup)
Get the checked value from a radio group.
protected bool isChecked(string $selector)
Return true if the given checkbox is checked, false otherwise.
protected $this click(string $name)
Click a link with the given body, name, or ID attribute.
protected $this type(string $text, string $element)
Fill an input field with the given text.
protected $this check(string $element)
Check a checkbox on the page.
protected $this uncheck(string $element)
Uncheck a checkbox on the page.
protected $this select(string $option, string $element)
Select an option from a drop-down.
protected $this attach(string $absolutePath, string $element)
Attach a file to a form field on the page.
protected $this press(string $buttonText)
Submit a form using the button with the given text value.
protected $this submitForm(string $buttonText, array $inputs = [], array $uploads = [])
Submit a form on the page with the given input.
protected Form fillForm(string $buttonText, array $inputs = [])
Fill the form with the given data.
protected Form getForm(string|null $buttonText = null)
Get the form from the page with the given submit button text.
protected $this storeInput(string $element, string $text)
Store a form input in the local array.
protected void assertFilterProducesResults(string $filter)
Assert that a filtered Crawler returns nodes.
protected Crawler filterByNameOrId(string $name, array|string $elements = '*')
Filter elements according to the given name or ID attribute.
protected array convertUploadsForTesting(Form $form, array $uploads)
Convert the given uploads to UploadedFile instances.
protected UploadedFile getUploadedFileForTesting(array $file, array $uploads, string $name)
Create an UploadedFile instance for testing.
$this json(string $method, string $uri, array $data = [], array $headers = [])
Visit the given URI with a JSON request.
$this get(string $uri, array $headers = [])
Visit the given URI with a GET request.
$this post(string $uri, array $data = [], array $headers = [])
Visit the given URI with a POST request.
$this put(string $uri, array $data = [], array $headers = [])
Visit the given URI with a PUT request.
$this patch(string $uri, array $data = [], array $headers = [])
Visit the given URI with a PATCH request.
$this delete(string $uri, array $data = [], array $headers = [])
Visit the given URI with a DELETE request.
$this handle(Request $request)
Send the given request through the application.
This method allows you to fully customize the entire Request object.
protected $this shouldReturnJson(array $data = null)
Assert that the response contains JSON.
protected $this|null receiveJson(array|null $data = null)
Assert that the response contains JSON.
$this seeJsonEquals(array $data)
Assert that the response contains an exact JSON array.
$this seeJson(array $data = null, bool $negate = false)
Assert that the response contains JSON.
$this dontSeeJson(array $data = null)
Assert that the response doesn't contain JSON.
protected $this seeJsonContains(array $data, bool $negate = false)
Assert that the response contains the given JSON.
protected string formatToExpectedJson(string $key, mixed $value)
Format the given key and value into a JSON string for expectation checks.
protected $this seeStatusCode(int $status)
Asserts that the status code of the response matches the given code.
protected $this seeHeader(string $headerName, mixed $value = null)
Asserts that the response contains the given header and equals the optional value.
protected $this seeCookie(string $cookieName, mixed $value = null)
Asserts that the response contains the given cookie and equals the optional value.
protected $this withServerVariables(array $server)
Define a set of server variables to be sent with the requests.
Response call(string $method, string $uri, array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null)
Call the given URI and return the Response.
Response callSecure(string $method, string $uri, array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null)
Call the given HTTPS URI and return the Response.
Response action(string $method, string $action, array $wildcards = [], array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null)
Call a controller action and return the Response.
Response route(string $method, string $name, array $routeParameters = [], array $parameters = [], array $cookies = [], array $files = [], array $server = [], string $content = null)
Call a named route and return the Response.
protected string prepareUrlForRequest(string $uri)
Turn the given URI into a fully qualified URL.
protected array transformHeadersToServerVars(array $headers)
Transform headers array to array of $SERVER vars with HTTP* format.
void dump()
Dump the content from the last response.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.1/Illuminate/Foundation/Testing/CrawlerTrait.html