class LuckyFlow

Overview

require "lucky_flow/ext/lucky"

Included Modules

Defined in:

ext/authentic.cr
ext/avram.cr
ext/lucky.cr
lucky_flow.cr:7
lucky_flow.cr:13
lucky_flow/errors.cr
lucky_flow/expectations.cr
lucky_flow/version.cr

Constant Summary

HABITAT_SETTINGS = [{decl: screenshot_directory : String = "./tmp/screenshots", example: nil, validation: nil}, {decl: base_uri : String, example: nil, validation: nil}, {decl: retry_delay : Time::Span = 10.milliseconds, example: nil, validation: nil}, {decl: stop_retrying_after : Time::Span = 1.second, example: nil, validation: nil}, {decl: driver_path : String | ::Nil, example: nil, validation: nil}] of Nil
VERSION = "0.10.0"

Class Method Summary

Instance Method Summary

Instance methods inherited from module LuckyActionLuckyFlowHelpers

visit(action : Lucky::Action.class)
visit(route_helper : Lucky::RouteHelper)
visit

Instance methods inherited from module AvramLuckyFlowHelpers

fill_form(form : Avram::SaveOperation.class | Avram::Operation.class, **fields_and_values) fill_form

Instance methods inherited from module AuthenticLuckyFlowHelpers

visit(action : Lucky::Action.class, as user : User)
visit(route_helper : Lucky::RouteHelper, as user : User)
visit

Class Method Detail

def self.configure(&) #

[View source]
def self.default_driver=(value : String) #

[View source]
def self.driver(name : String) : LuckyFlow::Driver #

[View source]
def self.driver : LuckyFlow::Driver #

[View source]
def self.reset : Nil #

[View source]
def self.settings #

[View source]
def self.shutdown : Nil #

[View source]
def self.use_default_driver #

[View source]

Instance Method Detail

def accept_alert #

[View source]
def append(name_attr : String, with value : String) #

Add text to the end of a field

fill("comment:body", with: "Lucky is:")

append("comment:body", " So much fun!")

[View source]
def click(css_selector : String) #

[View source]
def current_path #

[View source]
def dismiss_alert #

[View source]
def driver : LuckyFlow::Driver #

[View source]
def el(css_selector : String, text : String) : LuckyFlow::Element #

[View source]
def el(css_selector : String) : LuckyFlow::Element #

[View source]
def expand_page_to_fullsize #

[View source]
def field(name_attr : String) : LuckyFlow::Element #

[View source]
def fill(name_attr : String, with value) #

Set the text of a form field, clearing any existing text

fill("comment:body", with: "Lucky is great!")

[View source]
def fill(element : Element, with value) #

[View source]
def html : String #

[View source]
def open_screenshot(process = Process, time = Time.utc, fullsize = false) : Void #

[View source]
def pause #

[View source]
def select(name_attr : String, value : Array(String) | String) #

Select an option from a select element

select("post:category", value: "rant")

If given an Array(String), the select is assumed to have the 'multiple' attribute and will raise a LuckyFlow::InvalidMultiSelectError if it doesn't.

select("post:tags", value: ["rant", "technology"])

[View source]
def select(element : Element, value : String) #

[View source]
def select(element : Element, value : Array(String)) #

[View source]
def settings #

[View source]
def take_screenshot(filename : String = generate_screenshot_filename, fullsize : Bool = true) #

[View source]
def visit(path : String) #

[View source]
def with_fullsized_page(&) #

[View source]