wallaby v0.16.1 Wallaby

A concurrent feature testing library.

Configuration

Wallaby supports the following options:

  • :pool_size - Maximum amount of phantoms to run. The default is :erlang.system_info(:schedulers_online) * 2.
  • :screenshot_dir - The directory to store screenshots.
  • :screenshot_on_failure - if Wallaby should take screenshots on test failures (defaults to false).
  • :max_wait_time - The amount of time that Wallaby should wait to find an element on the page. (defaults to 3_000)
  • :js_errors - if Wallaby should re-throw javascript errors in elixir (defaults to true).
  • :js_logger - IO device where javascript console logs are written to. Defaults to :stdio. This option can also be set to a file or any other io device. You can disable javascript console logging by setting this to nil.
  • :phantomjs - The path to the phantomjs executable (defaults to “phantomjs”)
  • :phantomjs_args - Any extra arguments that should be passed to phantomjs (defaults to “”)

Summary

Functions

driver()
end_session(session)
js_errors?()
js_logger()
phantomjs_path()
screenshot_on_failure?()
start(type, args)

Called when an application is started.

This function is called when an the application is started using Application.start/2 (and functions on top of that, such as Application.ensure_started/2). This function should start the top-level process of the application (which should be the top supervisor of the application’s supervision tree if the application follows the OTP design principles around supervision).

start_type defines how the application is started:

  • :normal - used if the startup is a normal startup or if the application is distributed and is started on the current node because of a failover from another mode and the application specification key :start_phases is :undefined.
  • {:takeover, node} - used if the application is distributed and is started on the current node because of a failover on the node node.
  • {:failover, node} - used if the application is distributed and is started on the current node because of a failover on node node, and the application specification key :start_phases is not :undefined.

start_args are the arguments passed to the application in the :mod specification key (e.g., mod: {MyApp, [:my_args]}).

This function should either return {:ok, pid} or {:ok, pid, state} if startup is successful. pid should be the PID of the top supervisor. state can be an arbitrary term, and if omitted will default to []; if the application is later stopped, state is passed to the stop/1 callback (see the documentation for the c:stop/1 callback for more information).

use Application provides no default implementation for the start/2 callback.

Callback implementation for Application.start/2.

start_session(opts \\ [])