
Discover gravity API, a high-level automation platform for remote, agentless testing via web and soap APIs. Learn to build tests with gravity core, extend selenium, and perform cross-language cross-browser automation.
Register for a gravity API user by entering email and password, noting no email validation in this release, and explore installing gravity core and gravity services with licensing details.
Install gravity score and use it in a simple console application to explore the Gravity API concepts, including registration, email and password authentication, and setting up dependencies and Selenium.
Explore console application techniques for Gravity API automation using Selenium Web Driver, including creating cancellation tokens, configuring timeouts, and executing web automation requests with local Chrome driver.
Explore Gravity API's action and extraction rules to create simple, readable automation sequences with Selenium, navigating pages, interacting with elements, and extracting data.
See how to build a repeatable console automation using Gravity API and Selenium WebDriver, featuring static calls, waits, Orbit client, and timed sequences to execute browser actions.
Explore how to perform data extraction in a console app by defining root and entry elements, using relative XPath, and extracting the first result from Google.
Learn to use Gravity API to go to pages, manage page loading, and run a selenium-like driver within a continuous sequence.
Learn to navigate webpages with the gravity api go to url action by selecting an element, following links, and optionally extracting text or attributes from results.
Learn to navigate web pages with Gravity API's Selenium WebDriver, using GoToUrl to select elements, extract attributes, and click links to drive browser automation.
Demonstrates how to manipulate GoToUrl actions using regular expressions to extract and pass specific URL patterns as arguments, guiding real-world use on Expedia and beyond.
Explore how to implement the send keys action with selenium web driver, including element targeting, argument handling, and key entry sequences in a practical google search example.
Demonstrate sending keys with interval in Selenium Web Driver to reliably trigger UI events, showing how slower key input mimics real user typing and advances automated test steps.
Show how to send keys without clear for inputs with placeholders, avoiding the clear method, and organize actions into sequences and recursive workflows in Gravity API automation.
Learn to implement the click action in Gravity API, selecting the first element that meets a condition, with optional waits to see the element before clicking on different elements.
Learn the try click action in Selenium WebDriver, how it retries clicks with a configurable number of attempts, and how it differs from the standard click and dry click.
Close browser action gracefully terminates the current driver to keep automation machines clean, enabling distributed and parallel Selenium workflows without memory or performance issues.
Use the close all browsers action to brutally shut down all browser sessions by platform name (chrome, firefox, or ie), enabling cleanup before or after long operations, with caution.
Learn to switch between browser windows with the switch to window action, use window indices to target the main and new windows, perform actions, and return.
Master the close all child windows action to dispose all child windows within a session, keeping the automation clean without affecting other browsers, with a two-second wait.
Learn to close specific browser windows in Selenium using the close window action with an index, closing child windows sequentially with delays while preserving the main window.
Navigate back demonstrates the back action in Selenium, triggering page reloads and browser history movement. Build a simple scenario: open Trip Advisor home, then hotels in Atlanta, and navigate back.
Practice navigating forward and back in a Selenium test by duplicating the navigate back action, adding a navigate forward to open TripAdvisor home and hotels, and validating the navigation sequence.
Apply the refresh action in automation by adding a five-second wait, reusing the navigate forward pattern, and observing the page refresh on the Trip Advisor page.
Explore how the Bunner listener operates in the background and remains silent, detecting and clicking close buttons on banners to close all matching elements and remove multiple popups.
Capture screenshots of the current focus screen with Selenium WebDriver and save PNG files to a full path. Build a reusable screenshot method with a repeater for multiple pages.
Explore how to use the Gravity API repeater to execute a sequence of actions multiple times, including navigation, waits, and screenshots, with nested repeat support for complex looping.
Learn to implement a repeat action using a repeater to iterate across multiple pages, capture a screenshot on each page, and save indexed results, with a recursive macro-based approach.
Learn how to switch to an iframe in Selenium WebDriver to interact with login elements inside the frame, handle timeouts, and switch back to continue a TripAdvisor login automation.
Switch to frame to interact with elements inside an iframe, ensure the frame is available and ready before inputting the email, and use frame switching for stable element access.
Create an action sequence with gravity API to automate login by composing a JSON array of parameter pairs for each box, then click the login button.
Learn how to build robust login automation with Selenium WebDriver by locating username and password fields via XPath, handling frames, clicking submit, and using data-driven login sequences.
Learn to perform a double click with Selenium WebDriver, locate the target element, replace click with double click, and verify the event on a test page.
Learn to use the context click action in Selenium WebDriver with Gravity API, performing right-clicks to trigger context menus and build simple action sequences.
Learn the scroll page action in Selenium automation, scrolling to a target vertical position, triggering dynamic elements and silent paging as results load, with wait times.
Execute script runs javascript directly on the current page, enabling powerful on-page manipulation and alerts, demonstrated with hello world alert in gravity api automation as a service using selenium webdriver.
Explore selecting from combo boxes with the Gravity API, using the select from combo box action, selecting by visible text, and handling real-world UIs that show spans instead of selects.
Learn how to handle alerts with switch to alert, dismiss or accept to unblock the UI, including waiting three seconds and tracing script execution.
Explore weighting options and wait strategies in Gravity API, focusing on wait for displayed element to ensure the first matching element is visible before actions, handling timeouts.
Learn how to use wait for displayed elements to pause until all elements on a page are visible, not just the first one, with timeouts in milliseconds.
Learn to wait for an element to be invisible to control flow in Selenium WebDriver automation, using negative conditions to handle loading animations and real-world scenarios.
Learn to implement wait for page load, ensuring the browser is interactive, the DOM is refreshed, and the page is fully loaded before navigating between pages.
Configure wait for url to match with a regular expression and a timeout, and see how Gravity API continues the action sequence even if a single action fails.
Learn how to use the register parameter action to capture data from one page, store it as a parameter, and reuse it later across steps using element targets and regex.
master the register parameter action in selenium web driver to transfer information between pages, save data for later use, and create dynamic sequences that surface hotel details across sites.
Learn how to extract multi-part address data from separate page elements using Gravity parameters, and concatenate them into a single string, storing per-session parameters for reuse.
Finish the register parameter sequence by navigating to Google, typing the address in the text box, and sending keys to locate the hotel. Explore macros and parameter handling for automation.
Master how to use the submit form action in Selenium WebDriver to force form submission by index, handling multiple forms and ensuring submission when standard clicks fail.
Discover Gravity api for automation as a service, using Selenium WebDriver to execute serialized web automation sequences. Learn action and extraction rules, driver wrappers, and scalable parallel executions.
Explore data-driven actions to cycle through multiple urls using a data source to parameterize the go-to url action, with parallel execution options.
Master data-driven actions by creating a Gravity API database in SQL Server, configuring the connection string and repository, and running parallel browser actions to Google, Bing, and Yahoo.
Define instruction rules and extraction rules to create data entities from web page results. Identify a root element and extract fields like title and description from each result.
Define a basic extraction workflow using extraction rules and a root element for search results, with an elements-to-extract list for title and description, using ex-buddy's selectors.
Continue with extraction basics to execute instructions and pull titles and descriptions from Google results, using the extract data action to reveal entities and indices.
Learn to extract data from an element attribute and add a link entry to your extraction structure, mapping title, description, and link for each entity.
Apply regular expression to extract only the word Wikipedia from a link, demonstrating filtering and data manipulation within Gravity API as a testing framework.
Learn to build complex extraction rules and actions that compose a data entity from multiple fields, navigate to next pages, and aggregate data from multiple sites into a single entry.
Continue building a complex navigation sequence to extract page titles with macros, add navigate back actions, and rely on Gravity API’s smart weighting and DOM refresh to handle timing.
Learn to implement multiple extractions in a single sequence by creating independent extraction rules (title, description; link), mapping root elements, and ensuring the sequence completes even when some extractions fail.
Develop complex extraction workflows by applying action and extraction rules to pull title, description, and link for multiple entities across keywords like Europe, automation, and Windows.
Learn how to perform complex data extractions with selenium-driven automation, handling page load, synchronization, and exceptions by forcing page loads and waiting for stability before extracting data.
Configure Gravity API to export extractions and save them into storage types using per instruction data source information. Explore how thread-safe writing saves data as rows with title and description.
Learn to save multiple data extractions with dynamic or flat filenames using two extraction rules for titles, descriptions, and links. Stream data on the fly to a repository, accumulating files.
Learn to perform multiple extractions by index in one run, using a new split method and on click or on mouse down rules, while adjusting timeouts for reliable file creation.
Learn how extraction rules form a multi-site scraping table, where root elements become rows and entity content entries become columns, enabling aggregated data across 10 rows and 4 columns.
Explore macros as runtime commands that produce dynamic values via parameters. Use the date macro with days offset and format to drive data search, naming, and daily data aggregation.
Learn how to capture the current page URL across sessions or windows, apply regular expressions to extract parts like the domain, and return the result for use in automated tests.
Learn to build a macro named title that extracts the current page title and returns it in a sequence, usable in extraction rules or a testing framework.
Demonstrates how the literal macro replaces a macro with a given string and integrates extraction and instruction rules for structuring data; explains applying fixed values to rows.
Learn how to use the macro handle to retrieve the Selenium window handle, enabling precise logging and window tracking when working with multiple windows or tabs.
Learn to count open windows per session using the macro windows count in Gravity API, enabling per-driver snapshots and isolated results in parallel test runs.
Learn how the random number macro generates integers between a defined minimum and maximum. Copy, paste, and call the macro to produce different results on each run.
Explore the page source macro for Selenium automation, showing how to extract the full page source and noting limitations with dynamic content and dom differences.
Use the page source macro to extract specific elements, such as the title, by combining the page source with dom data for dynamic pages.
Learn to extract a meta tag's content attribute by rewriting a macro to target the first meta tag, run it, and verify the extraction.
Learn to use regular expressions for web crawling and text analysis, extracting file names from page sources with a regex approach in macro page source workflows.
extend the macro with the element macro, using data from a page element during sequence actions to extract values at runtime and keep sequences generic.
Continue with the macro element and the attributes argument to extract page element attributes using gravity API, demonstrating url resolution and element selection in Selenium automation.
Learn to extend the element macro with its expert property using regular expressions to extract the domain from a URL via Gravity API regX attributes.
Build a macro that captures alert text, dismisses the alert, and types the extracted text into the Google search box using send keys and wait steps.
Leverage MacroRptIndexAsync to repeat and modify the repeater index with modifiers and multipliers, cycle through pages, take screenshots, and save results with dynamic file names.
Learn how gravity API macros drive runtime automation without coding, using page source and elements macros to extract data and control actions via JSON, SML, or SOAP payloads.
Learn to host gravity api on a WCF service host, using a console application with a cancellation token and task-based parallelism to run non-blocking operations.
Continue building the WCF service host, demonstrating main and background thread coordination, console output, and cancellation, then keep the host running with key press, delays, or infinite timeout.
Configure wcf hosting by updating to framework 4.6, adding service model references, installing gravity services core (selenium web drivers), and defining a localhost endpoint named orbit for the orbit service.
Initialize the WCF service host, add trace to monitor service initialization, and configure metadata behavior to expose Gravity API over HTP. See runtime traces and host configuration in this lecture.
Configure a wcf host for the Gravity API by creating a basicHttpBinding, adjusting max message size, timeouts, cookies, and bypassing local proxy, then bind the service interface to its endpoint.
Open the WCF service host and display the endpoint with console tracing while running the app. Resolve the integer range error and verify the service is accessible.
Expose and trace a wcf service host with system diagnostics, adding a console trace listener via config to log runtime state every ten minutes for monitoring.
Learn to consume a gravity API WCF service by setting up a host, running with administrator privileges, and creating a console client that references the service and configures its binding.
Consume a WCF service via the service reference to create a proxy and client binding, then send a web automation sequence request to a remote machine with configuration and timeouts.
Create a WCF client from the service reference, configure the endpoint, and execute a remote automation request over HTTP to a listening service host on any machine.
Explore consuming a WCF service over the SOAP protocol, show how any language can interact with the Gravity API as a service, and generate a client using a Chrome extension.
Explore how to consume a WCF service using a SOAP client or Fiddler, passing a serialized object and executing actions without coding, enabling browser automation and quick testing.
Learn to consume a WCF service with an HTTP client instead of a channel, and implement a static channel consume method using a cancellation token.
The lecture continues WCF consuming by building an HTTP client to talk to the service, encoding content in UTF-8, posting to the endpoint, and parsing the response.
Learn to consume a wcf soap service with http client by setting the soap action header, building a byte content stream, and posting to the service URL with dotnet.
Learn WCF consuming with an HTTP client, turning soap responses into an object. Remove namespaces and attributes with regular expressions, and compare proxy approaches while validating results with ex-im visualizer.
Consume a WCF service by cleaning SOAP responses with regex, loading data into an XDocument, and serializing to JSON. Compare proxy-based consumption with HttpClient-driven approaches.
Learn to deploy a standalone WCF service across machines behind a load balancer and consume it via proxy or HTTP client, with cross-language support and self-hosted web APIs.
Learn to host a web api in a console application using self-host and NuGet packages, including Microsoft.AspNet.WebApi.SelfHost, with step-by-step setup and a gravity controller.
Create a gravity controller inheriting from api controller, add post methods automation and generate with routes like api gravity controller web automation, and prepare to implement gravity service core methods.
Host a web API service using Gravity API, install Gravity service core, configure web automation to send body-based requests, and build operations, factories, and methods.
Create a startup class for a self-hosted web API, define a default API route with an optional id, configure http routing, and initialize the application builder to host the API.
Learn to set up a long-running process with a cancellation token source and token, pass it to a run method, and prepare to call the API via a task.
Host a gravity api-based workflow to execute crawling and automation by building a basic web host with startup options, endpoints, and a long-running, cancellable loop.
Host the web api, fix configuration signature errors, and verify it is listening. Use Postman to send serialized json requests to the gravity mission route and observe remote automation.
Learn to consume a web API using an HTTP client by setting up a client project, hosting service, and integrating gravity API contracts with Selenium dependencies.
Learn to consume the Gravity API as a restful web service with an HTTP client, configure Selenium WebDriver, serialize driver data, and set go-to actions and timing.
Create an http client to post a JSON-serialized request to the gravity API, then deserialize the JSON response into an orbit response for remote automation and distributed crawling.
Install the gravity API client, build a solution, and consume web API services with the lightweight gravity client and explicit endpoints.
Learn to use the gravity client tool to test Gravity API via a UI that builds requests without manual json, using a local host and diagnostic monitoring.
Create a request in the gravity klein tool, use a ready template with notes, fill fields like education information and password, then add actions and timeouts before executing.
Configure the gravity API automation workflow with an API client, engine timeouts, and actions to open Google, extract data, and display results.
Continue using the Gravity client tool to import and export requests, noting serialization can shuffle order; save as J-Zone or SML, then test in Postman or any HTTP client.
Discover how Gravity API enables remote automation and testing with a Selenium-based high-level platform, delivering scalable distributed automation across clusters.
Learn to set up a gravity API testing project using Selenium, organize automation sequences and page objects, and implement data-driven cross-browser web testing across Google, Bing, and Yahoo.
Learn to integrate the gravity service core package into the Gravity API test project, deploy deployment items and web drivers, and update dependencies for reliable selenium-based testing.
Create a maintainable automation framework by scaffolding tests with a dedicated automation sequence and separate steps, linking tests to code via ids, and handling exceptions without failing the sequence.
Create the automation sequence against Gravity API by building the request, wiring the runner, and preparing actions and extraction rules with drivers deployed in the same folder.
Create automation actions and extraction rules using Gravity API, defining action rules such as go to google.com, send keys, click items, extract data, and close the browser for disposal.
Continue automation testing by building extraction rules around a root element, such as the search results container, and filtering by div class to exclude sponsored items.
Develop and execute automated tests by integrating a test sequence with a test runner, create a client to send requests to the gravity engine, and validate results with asserts.
Explore automation testing with Gravity using Selenium WebDriver; learn to run, debug, and monitor tests via Test Explorer, Solution Explorer, and Chrome tracker, with Gravity handling timing and flow.
Create a generic, cross-site, cross-browser automation test that parameterizes the app URL, search box, and complete item, and runs searches on Google, Bing, and Yahoo.
Explore a unified page object approach for Selenium WebDriver, combining Google, Chrome, and Bing pages with a generic search page, reducing maintenance while supporting cross-page elements and configuration.
Extend the page object model by adding multiple selectors to cover several pages, using the google search box as an example and explaining single-page versus multi-page approaches.
Demonstrates automating tests with selenium web driver by locating Google search results via root and class selectors and selecting the first result within a Gravity API workflow.
Continue testing by adding search results and detecting test pass when the root element is found. Identify titles using h3 and h2 elements with xpath in the browser console.
Explore automation testing across cross-site and cross-browser environments using Gravity API, building tests step by step with page objects, debugging, and running .NET unit tests for browser-based search scenarios.
Learn to run cross-browser tests with Gravity API across Chrome, Internet Explorer, and Firefox. Handle driver initialization, page load timeouts, and common Gecko driver issues.
Learn how to adapt automation tests for cross-site search pages, switch from Google to Bing, ensure the correct root element and h2 selections, filter out nav bars.
Demonstrates cross-browser automation testing on Chrome and Firefox, fixes Yahoo autocomplete issues by using the search box, updates the page object, and confirms a successful test.
Move the search method into the page object, expose a static search that returns result counts, and use a macro to count entities for assertions in automation testing.
Configure a Selenium WebDriver test by refining the test structure, using object initializers and static vs instance properties, and run a Firefox Yahoo search to parse results.
Create a data-driven automation test across Chrome, Firefox, and Internet Explorer using a gravity data CSV as the data source, feeding columns via context data row for the keyword.
Continue implementing cross-browser automation by taking platform and keywords from columns to create nine tests (Chrome, Firefox, Internet Explorer) for the Gravity API, and run via the desk runner.
Explore running tests remotely with Gravity API as a hosted service, deploying multiple remote agents, load-balancing requests, and retrieving remote URLs for plug-and-play automation.
Create a remote automation sequence by adding a remote agent to the search page, wire it to gravity data API, and run tests in parallel on browser machines via discovery.
Run automated Selenium tests remotely with Gravity API by ensuring data-driven files use quoted strings, configuring remote driver paths, and leveraging service discovery for flexible orchestration.
Discover how gravity api serves as a testing platform with selenium-level capabilities, enabling remote, self-hosted web api driven test execution across multiple browsers and machines, with service discovery and deployment.
Create a self-hosted web api crawler by adding a startup class and routing. Map a default http route and initialize the builder with the http configuration.
Continue building the web crawler and initialize the web API, replicate setup steps, manage tokens, and launch a long running background task with a thread pool.
Configure start options and startup logic to run the crawler as a background service with heartbeat and cancellation. Prepare the crawler web API integration and outline controllers for next lecture.
Create and wire up a web crawler by adding a crawler agent controller, implementing Gravity API endpoints, and wiring a web automation sequence to process requests as a background worker.
Continue with our crawler by creating a crawler configurations database in SQL Server Management Studio, then add a three-column configurations table with an identity primary key and active flag.
Create a web crawler configuration for Gravity API automation with Selenium WebDriver by setting up a request, credentials, actions, and data extraction, then close the browser and test integration.
Continue configuring a web crawler to extract and save data, define extraction rules for title, description, and link, and save results with date-based naming and per-day scheduling.
Move the configuration to the database after testing, then use a compact JSON format and a scheduler to call configurations on demand for automated web crawling and web API integration.
Connect your web crawler to a database using a data entity model, create a crawler configuration context, and enable on-demand and scheduled automated crawling.
Create a crawler web API controller that retrieves configuration by id from the database and executes web crawling on demand; wire the configuration context in startup.
Debug a web crawler API by correcting the route parameter name, avoiding port conflicts, and adding route comments; test via browser requests and set up for thread pool execution.
Master building a web crawler with Gravity API by validating requests, handling nulls, and offloading long running crawls to a thread pool for non blocking background execution.
Learn to pass the gravity api request to the next service by serializing the configuration to a json object or using an http client for the crawler agent.
Test the gravity API against the crawler agent and compare two interaction approaches—gravity client and http client—debugging, configuring drivers, and validating end-to-end crawling.
Create and schedule web crawler configurations using a console app and Windows Task Scheduler, passing configuration IDs as command line arguments and handling multiple inputs.
Send parallel requests to the caller web api via parallel for each, crawl configurations with an http client, debug, run, and schedule the crawler in the Colosseum project.
Set up a microservices crawler by creating a blank solution named Gravity API crawler, adding a crawler agent console project, and configuring self-hosted dotnet web api and gravity client packages.
Extend the course with crawler samples and real-world use cases, then build an automated, self-sustained workflow by creating configurations, a gravity client scheduler, and actions like send keys and click.
Streamline a dual-browser web crawler by refreshing configurations, cleaning the garbage folder, and applying a copied request to the database to launch two browser sessions for Bing and Google.
Use the active field to enable or ignore configurations so only the desired crawler runs. Interact with the web API and crawler agent to start, debug, and manage configurations.
Learn how to build a web crawler with Gravity API, detailing a complex configuration to handle dynamic loading, banners, AB testing, and date logic while scraping TripAdvisor hotels.
Demonstrates automating a date picker in a web crawler, using a macro and repeater to select future dates and applying the date with a data source for availability.
Learn to build a Selenium web crawler that uses date macros to select exact days, avoid false positives from dynamic dates, and manage pop-ups and windows for a clean session.
Navigate Trip Advisor search results by handling dynamic loading and a UI blocker, waiting for elements to appear and disappear before interaction, then close windows to proceed to extractions.
Create a web crawler workflow that clicks hotel page links, switches windows, extracts the hotel address, and closes child windows before moving to the next page.
Execute a complex web crawler with selenium web driver to run a long extraction request, handle AB testing appearances, and adapt a single configuration to multiple site layouts.
Create a robust web crawler with data-driven page crawling using Selenium Web Driver in Gravity API, handling long configurations, waiting for loads, scrolling pages, and suppressing popups for reliable extraction.
Continue TripAdvisor crawling by defining extraction rules to capture hotel names and links, save daily results to a dated TripAdvisor file, and navigate pages with Gravity API.
Create a multi-page web crawler by configuring a data source for page numbers, enabling parallel requests for three pages, and repeating click actions to crawl each page on Tripadvisor.
Learn to build a web crawler with Gravity API, handling paging and real-time exceptions effectively. Bypass click issues by navigating via the element's href attribute and opening a blank page.
Aggregate multiple crawler configurations into a single production output, enabling save, import, and compacted requests, plus a crawler web API and agent for scalable execution.
Create a daily scheduler to run the crawler web API agent on a dedicated crawler machine, producing timestamped output files, with startup services, on-demand runs, and network checks.
Explore Gravity API’s continue request feature to chain actions by saving the first response and, if conditions hold, continuing with the next steps in the same session using the driver.
Explore inline data source in Gravity API, using a data driven engine to run a single request across multiple keywords without external data sources, enabling parallel execution for Google searches.
Learn to implement Gravity API as a reliable service on Service Fabric, hosting on Statelets Web API or self-hosted API, with project setup, cluster config, and core dependencies.
Configure Service Fabric for Gravity API by updating startup routing, securing with administrator privileges, and setting application manifest policies so the Gravity Web API communicates via defined protocol and port.
Learn to communicate with a service on service fabric, configure manifests and ports, debug with breakpoints, and validate requests via postman and selenium webdriver, observing runtime output.
Learn how gravity core extends selenium with a fluent toolset, install it in a console project, and run a basic selenium script using gravity extensions and tested web drivers.
Learn how gravity core and extensions extend selenium to provide robust element handling, automatic waiting, and fluent actions like get element, get elements, and navigate.
This course will teach you everything you need to know about Gravity API. Gravity API is a new automation concept which delivering automation infrastructures (such as Selenium, Appium, Coded UI, etc.) as a service, which means YOU DO NOT NEED to deal with automation infrastructure - only with the automation tools or scenarios you would like to create.
Gravity API can automate browsers, desktop and mobile applications (not on the BETA release) and even server side HTTP requests.
Gravity API can be hosted on WCF Host, IIS, OWIN, Service Fabric, Windows Service, Windows Process, .NET Core (when Selenium support will be available), Cloud Service, etc, and can be interact over HTTP - you can also use it's objects directly in your code with any language and send it over HTTP (client libraries)
The powerful extraction capabilities makes Gravity API the ultimate crawler/spider - it can extract any data including JS Generated data or bypass UI blocks like "Click Here" or any client side blockage.