|
1 | 1 | <!-- SeleniumBase Docs --> |
2 | 2 |
|
3 | | -<!-- YouTube View --><a href="https://www.youtube.com/watch?v=EablmOazy-k"><img src="http://img.youtube.com/vi/EablmOazy-k/0.jpg" title="SeleniumBase on YouTube" width="365" /></a> |
4 | | -<!-- GitHub Only --><p>(<b><a href="https://www.youtube.com/watch?v=EablmOazy-k">Watch the SeleniumBase tutorial from Selenium-Conf-2023 on YouTube</a></b>)</p> |
5 | | - |
6 | 3 | <a id="feature_list"></a> |
7 | 4 |
|
8 | 5 | <h2><a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/img/logo6.png" title="SeleniumBase" width="32"></a> SeleniumBase Features: 🏰</h2> |
9 | 6 |
|
10 | 7 | * A powerful Python framework for browser automation and E2E UI testing. |
11 | | -* Includes [Recorder Mode](https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/recorder_mode.md) for instantly generating browser tests in Python. |
12 | | -* Supports multiple browsers, tabs, iframes, and proxies in the same test. |
13 | | -* Includes [Test Case Management Software](https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/case_plans.md) with Markdown technology. |
| 8 | +* Has [CDP Mode](https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/ReadMe.md) for bypassing bot-detection. (`activate_cdp_mode(url)`) |
| 9 | +* [Stealthy Playwright Mode](https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/playwright/ReadMe.md) lets you bypass bot-detection with Playwright. |
| 10 | +* There's [Recorder Mode](https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/recorder_mode.md) for instantly generating browser tests in Python. |
| 11 | +* Supports [pytest](https://docs.pytest.org/en/latest/), [unittest](https://docs.python.org/3/library/unittest.html), [nose](http://nose.readthedocs.io/en/latest/), and [behave](https://behave.readthedocs.io/en/stable/index.html) for finding & running tests. |
14 | 12 | * Automatic smart-waiting improves reliability and prevents flaky tests. |
15 | | -* Supports [pytest](https://docs.pytest.org/en/latest/), [unittest](https://docs.python.org/3/library/unittest.html), [nose](http://nose.readthedocs.io/en/latest/), and [behave](https://behave.readthedocs.io/en/stable/index.html) for finding/running tests. |
16 | 13 | * All the code is open source. Look inside to learn about any feature. |
17 | 14 | * Powerful logging tools for [dashboards, reports, and screenshots](https://github.com/seleniumbase/SeleniumBase/blob/master/examples/example_logs/ReadMe.md). |
18 | | -* Can run tests in Headless Mode to hide the browser. (``--headless``) |
19 | | -* Can run tests multithreaded from parallel browsers. (``-n NUM_THREADS``) |
20 | | -* Can run tests from a shared browser session. (``--reuse-session``/``--rs``) |
21 | | -* Can run tests using [Chromium's mobile device emulator](https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/mobile_testing.md). (``--mobile``) |
22 | | -* Can run tests through a proxy server. (``--proxy=IP_ADDRESS:PORT``) |
23 | | -* Can run tests with proxy settings via PAC URL. (``--proxy-pac-url=URL.pac``) |
24 | | -* Can run tests through an authenticated proxy server. (``--proxy=USER:PASS@HOST:PORT``) |
25 | | -* Can run tests with proxy+auth via PAC URL. (``--proxy-pac-url=USER:PASS@URL.pac``) |
26 | | -* Can run tests with a customized browser user agent. (``--agent=USER_AGENT_STRING``) |
27 | | -* Can set a Chromium User Data Directory/Profile to load. (``--user-data-dir=DIR``) |
28 | | -* Can [avoid detection](https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/uc_mode.md) by sites that try to block Selenium. (``--undetected``/``--uc``) |
29 | | -* Can [use CDP Mode](https://github.com/seleniumbase/SeleniumBase/blob/master/examples/cdp_mode/ReadMe.md) for advanced stealth abilities. (``activate_cdp_mode(url)``) |
30 | | -* Can integrate with [selenium-wire](https://github.com/wkeeling/selenium-wire) for inspecting browser requests. (``--wire``) |
31 | | -* Can load Chrome Extension ZIP files. (``--extension-zip=ZIP``) |
32 | | -* Can load Chrome Extension folders. (``--extension-dir=DIR``) |
33 | | -* Powerful [console scripts](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/console_scripts/ReadMe.md). (Type **``seleniumbase``** or **``sbase``** to use.) |
| 15 | +* Can run tests in Headless Mode to hide the browser. (`--headless`) |
| 16 | +* Can run tests multithreaded from parallel browsers. (`-n NUM_THREADS`) |
| 17 | +* Can run tests from a shared browser session. (`--reuse-session`/`--rs`) |
| 18 | +* Can run tests using [Chromium's mobile device emulator](https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/mobile_testing.md). (`--mobile`) |
| 19 | +* Can run tests through a proxy server. (`--proxy=IP_ADDRESS:PORT`) |
| 20 | +* Can run tests with proxy settings via PAC URL. (`--proxy-pac-url=URL.pac`) |
| 21 | +* Can run tests through an authenticated proxy server. (`--proxy=USER:PASS@HOST:PORT`) |
| 22 | +* Can run tests with proxy+auth via PAC URL. (`--proxy-pac-url=USER:PASS@URL.pac`) |
| 23 | +* Can run tests with a customized browser user agent. (`--agent=USER_AGENT_STRING`) |
| 24 | +* Can set a Chromium User Data Directory to load. (`--user-data-dir=DIR`) |
| 25 | +* Can load Chromium Extension folders. (`--extension-dir=DIR`) |
| 26 | +* Powerful [console scripts](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/console_scripts/ReadMe.md). (Type **`seleniumbase`** or **`sbase`** to use.) |
34 | 27 | * Has the ability to translate tests into [multiple spoken languages](https://github.com/seleniumbase/SeleniumBase/tree/master/examples/translations). |
35 | 28 | * Has a flexible [command-line interface](https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/customizing_test_runs.md) for customizing test runs. |
36 | 29 | * Has a [global config file](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/config/settings.py) for configuring settings as needed. |
|
43 | 36 | * Can handle Google Authenticator logins with [Python's one-time password library](https://pyotp.readthedocs.io/en/latest/). |
44 | 37 | * Can load and make assertions on PDF files from websites or the local file system. |
45 | 38 | * Can inspect HTML to find issues and points of interest with the [HTML Inspector](https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/html_inspector.md). |
46 | | -* Is backwards-compatible with Python [WebDriver](https://www.selenium.dev/projects/) methods. (Use: ``self.driver``) |
47 | | -* Can execute JavaScript code from Python calls. (Use: ``self.execute_script()``) |
48 | | -* Can pierce through [Shadow DOM selectors](https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/shadow_dom.md). (Add ``::shadow`` to CSS fragments.) |
| 39 | +* Is backwards-compatible with Python [WebDriver](https://www.selenium.dev/projects/) methods. (Use: `self.driver`) |
| 40 | +* Can execute JavaScript code from Python calls. (Use: `self.execute_script()`) |
| 41 | +* Can pierce through [Shadow DOM selectors](https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/shadow_dom.md). (Add `::shadow` to CSS fragments.) |
49 | 42 | * Includes a hybrid-automation solution, [MasterQA](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/masterqa/ReadMe.md), to speed up manual testing. |
| 43 | +* Includes [Test Case Management Software](https://github.com/seleniumbase/SeleniumBase/blob/master/help_docs/case_plans.md) with Markdown technology. |
50 | 44 | * Includes useful [Python decorators and password obfuscation methods](https://github.com/seleniumbase/SeleniumBase/blob/master/seleniumbase/common/ReadMe.md). |
51 | 45 |
|
52 | 46 | -------- |
53 | 47 |
|
54 | | -<!-- YouTube View --><a href="https://www.youtube.com/watch?v=yEQeAU_mrg0"><img src="http://img.youtube.com/vi/yEQeAU_mrg0/0.jpg" title="SeleniumBase on YouTube" width="365" /></a> |
55 | | -<!-- GitHub Only --><p>(<b><a href="https://www.youtube.com/watch?v=yEQeAU_mrg0">Have fun with test automation!</a></b>)</p> |
56 | | - |
57 | | -(<b><a href="https://www.youtube.com/watch?v=Sjzq9kU5kOw">Watch the original tutorial on YouTube</a></b>) |
58 | | - |
59 | | -<p align="left"><a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/cdn/img/sb_logo_10.png" alt="SeleniumBase" title="SeleniumBase" width="240"></a></p> |
60 | | - |
61 | | -<a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/cdn/img/super_logo_sb.png" title="SeleniumBase" width="240"></a> |
| 48 | +<a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/cdn/img/nice_logo_8t.png" title="SeleniumBase" width="320"></a> |
0 commit comments