Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.5%) to scientific vocabulary
Keywords
Repository
Official CLI for Lila: the testing framework for startups
Basic Info
- Host: GitHub
- Owner: lila-team
- Language: Python
- Default Branch: main
- Homepage: https://lila.dev
- Size: 280 KB
Statistics
- Stars: 17
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
The best testing framework for startups 🚀
Lila CLI is a powerful tool for running end-to-end tests written in human-readable plain text using YAML files. It simplifies the testing process by allowing anyone in the team to write tests in a natural, easy-to-understand format.
No coding required.
Quick start
With pip (Python>=3.11)
pip install lilacli
Install Playwright Chromium web drivers
playwright install chromium
Create your first testcase in a demo.yaml file
```yaml steps: - goto: https://www.google.com/maps
input: Empire State on the main search bar verify: a dropdown with suggestions appears
click: on the first suggestion from the dropdown verify: the map shows the Empire State Building in NY ```
Fetch an API Key from Lila app and add it to an .env file:
LILA_API_KEY=...
Run
lila run demo.yaml
How does it work?
Lila runs your app in a local browser with Playwright and uses an LLM-powered engine to guide the CLI run high level instructions. Lila extracts information from the DOM using the awesome library browser-use
Why Lila?
- No coding required.
- Self healing tests, does not rely on low level implementation.
- Anyone in the team can implement tests.
- Integrates natively with Playwright storage states.
- Runs browser locally, making it ideal for localdev or staging environments.
Writing tests
Tests are just YAML files. Here is the same example as the quick start.
```yaml steps: - goto: https://www.google.com/maps
input: Empire State on the main search bar verify: a dropdown with suggestions appears
click: on the first suggestion from the dropdown verify: the map shows the Empire State Building in NY ```
Step types
goto: navigate to a URL
yaml
- goto: https://private.staging.my-app.com
click: perform a click on a described element
```yaml - click: on the checkout cart
or
- click: on the direction item # or
- click: on button 'Create' ```
input: type text into an input field
```yaml - input: foo@bar.com as email
or
- input: iPad mini in the main search bar ```
submit: submits a form by clicking a button or pressing enter
```yaml - submit: the login form
or
- submit: the search ```
wait: just waits N seconds
yaml
- wait: 10 # waits 10 seconds
pick: pick an element from a dropdown
yaml
- pick: EST from the timezone dropdown
exec: run a bash command
```yaml - exec: | # multiline curl -X POST ...
or
- exec: psql -c "INSERT ..." # single line ```
Verifications
Each step can have one or more verify assertions.
```yaml - goto: https://my-app.com/login verify: there is a login form with username and password # Single verification
- click: the checkout cart
verify: # multi verifications
- 5 items appear in the purchase summary
- the total is 500 USD ```
More on building tests
For more information on how to build tests, checkout the guides
More examples
For test examples, Lila runs daily a suite of tests over public URLs. Check them out here
Creating an account
Lila is free for beta users. Create your free account at https://lila.dev. You will need the account to fetch an API key to run lila CLI.
Reusing state
Lila runs save the browser state in the output folder. To re-use where another test left off, just pass --browser-state parameter.
For example:
login.yaml:
yaml
steps:
- goto: https://my-app.com/login
- input: foobar as username
- input: barbaz as password
- submit: the login form
verify: login was successful
lila run login.yaml -> This will generate lila-output/login.json
dashboard.yaml (needs a logged in user)
yaml
steps:
- goto: https://my-app.com/dashboard
verify: there is a panel displaying metrics
lila run dashboard.yaml --browser-state lila-output/login.json
CLI Parameters
--browser-state: Initialize the browser with a Playwright JSON storage session--tags: Filter tests by specified comma-separated tags--exclude-tags: Filter out tests by specified comma-separated tags--output-dir: Specify the output directory for the browser states--config: Point to thelila.tomlconfig file if not using the root location--headless: If present, does not open browser--debug: Displays debug logs
CI/CD ready
Checkout an example for a daily run using GHA
Documentation
For comprehensive documentation, visit docs.lila.dev.
Examples
Find a variety of test examples in our examples repository, showcasing different testing scenarios and best practices.
Contact
Reach out at info@lila.dev
Join our Discord server
Follow us at Twitter - X
Owner
- Name: Lila
- Login: lila-team
- Kind: organization
- Email: info@lila.dev
- Website: https://lila.dev
- Repositories: 1
- Profile: https://github.com/lila-team
Lila: e2e tests anyone can implement
Citation (CITATION.cff)
@software{browser_use2024,
author = {Müller, Magnus and Žunič, Gregor},
title = {Browser Use: Enable AI to control your browser},
year = {2024},
publisher = {GitHub},
url = {https://github.com/browser-use/browser-use}
}
GitHub Events
Total
- Watch event: 17
- Push event: 23
- Public event: 1
- Create event: 1
Last Year
- Watch event: 17
- Push event: 23
- Public event: 1
- Create event: 1
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Surfing Devs | s****s@g****m | 40 |
| Ivan Itzcovich | i****h@g****m | 17 |
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
