{"id":22362942,"url":"https://github.com/lambdatest/pytest-selenium-hyperexecute-sample","last_synced_at":"2025-07-19T08:03:55.750Z","repository":{"id":38844217,"uuid":"457026744","full_name":"LambdaTest/pytest-selenium-hyperexecute-sample","owner":"LambdaTest","description":"Demonstration of PyTest Selenium testing on HyperExecute Grid","archived":false,"fork":false,"pushed_at":"2024-02-07T14:37:58.000Z","size":17667,"stargazers_count":5,"open_issues_count":0,"forks_count":18,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-06-16T14:16:17.706Z","etag":null,"topics":["automation","automation-selenium","cross-browser","hyperexecute","hypertest","lambdatest","pytest","python","selenium-python","selenium-webdriver"],"latest_commit_sha":null,"homepage":"https://www.lambdatest.com/hyperexecute","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LambdaTest.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-02-08T17:05:09.000Z","updated_at":"2022-06-07T09:11:26.000Z","dependencies_parsed_at":"2025-06-21T21:31:31.040Z","dependency_job_id":null,"html_url":"https://github.com/LambdaTest/pytest-selenium-hyperexecute-sample","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LambdaTest/pytest-selenium-hyperexecute-sample","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LambdaTest%2Fpytest-selenium-hyperexecute-sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LambdaTest%2Fpytest-selenium-hyperexecute-sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LambdaTest%2Fpytest-selenium-hyperexecute-sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LambdaTest%2Fpytest-selenium-hyperexecute-sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LambdaTest","download_url":"https://codeload.github.com/LambdaTest/pytest-selenium-hyperexecute-sample/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LambdaTest%2Fpytest-selenium-hyperexecute-sample/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265904251,"owners_count":23846673,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","automation-selenium","cross-browser","hyperexecute","hypertest","lambdatest","pytest","python","selenium-python","selenium-webdriver"],"created_at":"2024-12-04T17:12:38.460Z","updated_at":"2025-07-19T08:03:55.732Z","avatar_url":"https://github.com/LambdaTest.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg height=\"100\" alt=\"hyperexecute_logo\" src=\"https://user-images.githubusercontent.com/1688653/159473714-384e60ba-d830-435e-a33f-730df3c3ebc6.png\"\u003e\n\nHyperExecute is a smart test orchestration platform to run end-to-end Selenium tests at the fastest speed possible. HyperExecute lets you achieve an accelerated time to market by providing a test infrastructure that offers optimal speed, test orchestration, and detailed execution logs.\n\nThe overall experience helps teams test code and fix issues at a much faster pace. HyperExecute is configured using a YAML file. Instead of moving the Hub close to you, HyperExecute brings the test scripts close to the Hub!\n\n* \u003cb\u003eHyperExecute HomePage\u003c/b\u003e: https://www.lambdatest.com/hyperexecute\n* \u003cb\u003eLambdatest HomePage\u003c/b\u003e: https://www.lambdatest.com\n* \u003cb\u003eLambdaTest Support\u003c/b\u003e: [support@lambdatest.com](mailto:support@lambdatest.com)\n\nTo know more about how HyperExecute does intelligent Test Orchestration, do check out [HyperExecute Getting Started Guide](https://www.lambdatest.com/support/docs/getting-started-with-hyperexecute/)\n\n[\u003cimg alt=\"Try it now\" width=\"200 px\" align=\"center\" src=\"images/Try it Now.svg\" /\u003e](https://hyperexecute.lambdatest.com/?utm_source=github\u0026utm_medium=repository\u0026utm_content=python\u0026utm_term=pytest)\n\n## Gitpod\n\nFollow the below steps to run Gitpod button:\n\n1. Click '**Open in Gitpod**' button (You will be redirected to Login/Signup page).\n2. Login with Lambdatest credentials and it will be redirected to Gitpod editor in new tab and current tab will show hyperexecute dashboard.\n\n[\u003cimg alt=\"Run in Gitpod\" width=\"200 px\" align=\"center\" src=\"images/Gitpod.svg\" /\u003e](https://hyperexecute.lambdatest.com/hyperexecute/jobs?type=gitpod\u0026framework=PyTest)\n---\n\u003c!---If logged in, it will be redirected to Gitpod editor in new tab where current tab will show hyperexecute dashboard.\n\nIf not logged in, it will be redirected to Login/Signup page and simultaneously redirected to Gitpod editor in a new tab where current tab will show hyperexecute dashboard.\n\nIf not signed up, you need to sign up and simultaneously redirected to Gitpod in a new tab where current tab will show hyperexecute dashboard.---\u003e\n\n# How to run Selenium automation tests on HyperExecute (using PyTest framework)\n\n* [Pre-requisites](#pre-requisites)\n   - [Download HyperExecute CLI](#download-hyperexecute-cli)\n   - [Configure Environment Variables](#configure-environment-variables)\n\n* [Auto-Split Execution with PyTest](#auto-split-execution-with-pytest)\n   - [Core](#core)\n   - [Pre Steps and Dependency Caching](#pre-steps-and-dependency-caching)\n   - [Post Steps](#post-steps)\n   - [Artifacts Management](#artifacts-management)\n   - [Test Execution](#test-execution-1)\n\n* [Matrix Execution with PyTest](#matrix-execution-with-pytest)\n   - [Core](#core-1)\n   - [Pre Steps and Dependency Caching](#pre-steps-and-dependency-caching-1)\n   - [Post Steps](#post-steps-1)\n   - [Artifacts Management](#artifacts-management-1)\n   - [Test Execution](#test-execution-1)\n\n* [Secrets Management](#secrets-management)\n* [Navigation in Automation Dashboard](#navigation-in-automation-dashboard)\n\n# Pre-requisites\n\nBefore using HyperExecute, you have to download HyperExecute CLI corresponding to the host OS. Along with it, you also need to export the environment variables *LT_USERNAME* and *LT_ACCESS_KEY* that are available in the [LambdaTest Profile](https://accounts.lambdatest.com/detail/profile) page.\n\n## Download HyperExecute CLI\n\nHyperExecute CLI is the CLI for interacting and running the tests on the HyperExecute Grid. The CLI provides a host of other useful features that accelerate test execution. In order to trigger tests using the CLI, you need to download the HyperExecute CLI binary corresponding to the platform (or OS) from where the tests are triggered:\n\nAlso, it is recommended to download the binary in the project's parent directory. Shown below is the location from where you can download the HyperExecute CLI binary:\n\n* Mac: https://downloads.lambdatest.com/hyperexecute/darwin/hyperexecute\n* Linux: https://downloads.lambdatest.com/hyperexecute/linux/hyperexecute\n* Windows: https://downloads.lambdatest.com/hyperexecute/windows/hyperexecute.exe\n\n## Configure Environment Variables\n\nBefore the tests are run, please set the environment variables LT_USERNAME \u0026 LT_ACCESS_KEY from the terminal. The account details are available on your [LambdaTest Profile](https://accounts.lambdatest.com/detail/profile) page.\n\nFor macOS:\n\n```bash\nexport LT_USERNAME=LT_USERNAME\nexport LT_ACCESS_KEY=LT_ACCESS_KEY\n```\n\nFor Linux:\n\n```bash\nexport LT_USERNAME=LT_USERNAME\nexport LT_ACCESS_KEY=LT_ACCESS_KEY\n```\n\nFor Windows:\n\n```bash\nset LT_USERNAME=LT_USERNAME\nset LT_ACCESS_KEY=LT_ACCESS_KEY\n```\n\n## Auto-Split Execution with PyTest\n\nAuto-split execution mechanism lets you run tests at predefined concurrency and distribute the tests over the available infrastructure. Concurrency can be achieved at different levels - file, module, test suite, test, scenario, etc.\n\nFor more information about auto-split execution, check out the [Auto-Split Getting Started Guide](https://www.lambdatest.com/support/docs/getting-started-with-hyperexecute/#smart-auto-test-splitting)\n\n### Core\n\nAuto-split YAML file (*yaml/win/pytest_hyperexecute_autosplit_sample.yaml*) in the repo contains the following configuration:\n\n```yaml\nglobalTimeout: 90\ntestSuiteTimeout: 90\ntestSuiteStep: 90\n```\n\nGlobal timeout, testSuite timeout, and testSuite timeout are set to 90 minutes.\n \nThe *runson* key determines the platform (or operating system) on which the tests are executed. Here we have set the target OS as Windows.\n\n```yaml\nrunson: win\n```\n\nAuto-split is set to true in the YAML file.\n\n```yaml\n autosplit: true\n```\n\n*retryOnFailure* is set to true, instructing HyperExecute to retry failed command(s). The retry operation is carried out till the number of retries mentioned in *maxRetries* are exhausted or the command execution results in a *Pass*. In addition, the concurrency (i.e. number of parallel sessions) is set to 2.\n\n```yaml\nretryOnFailure: true\nmaxRetries: 5\nconcurrency: 2\n```\n\n## Pre Steps and Dependency Caching\n\nTo leverage the advantage offered by *Dependency Caching* in HyperExecute, the integrity of *requirements.txt* is checked using the checksum functionality.\n\n```yaml\ncacheKey: '{{ checksum \"requirements.txt\" }}'\n```\n\nBy default, *pip* in Python saves the downloaded packages in the cache so that next time, the package download request can be serviced from the cache (rather than re-downloading it again).\n\nThe caching advantage offered by *pip* can be leveraged in HyperExecute, whereby the downloaded packages can be stored (or cached) in a secure server for future executions. The packages available in the cache will only be used if the checksum stage results in a Pass.\n\nThe *cacheDirectories* directive is used for specifying the directory where the packages have to be cached. The mentioned directory will override the default directory where Python packages are usually cached; further information about caching in pip is available [here](https://pip.pypa.io/en/stable/cli/pip_cache/). The packages downloaded using pip will be cached in the directory (or location) mentioned under the *cacheDirectories* directive.\n\nIn our case, the downloaded packages are cached in the *CacheDir* folder in the project's root directory. The folder is automatically created when the packages mentioned in *requirements.txt* are downloaded.  \n\n```yaml\ncacheDirectories:\n  - CacheDir\n```\n\nContent under the *pre* directive is the precondition that will run before the tests are executed on the HyperExecute grid. The *--cache-dir* option in *pip3* is used for specifying the cache directory. It is important to note that downloaded cached packages are securely uploaded to a secure cloud before the execution environment is auto-purged after build completion. Please modify *requirements.txt* as per the project requirements.\n\n```yaml\npip3 install -r requirements.txt  --cache-dir CacheDir\n```\n\n## Post Steps\n\nThe *post* directive contains a list of commands that run as a part of post-test execution. Here, the contents of *yaml/win/pytest_hyperexecute_autosplit_sample.yaml* are read using the *cat* command as a part of the post step.\n\n```yaml\npost:\n  - cat yaml/win/pytest_hyperexecute_autosplit_sample.yaml\n```\n\nThe *testDiscovery* directive contains the command that gives details of the mode of execution, along with detailing the command that is used for test execution. Here, we are fetching the list of Python files that would be further executed using the *value* passed in the *testRunnerCommand*\n\n```yaml\ntestDiscovery:\n  type: raw\n  mode: dynamic\n  command: grep -nri 'class' tests -ir --include=\\*.py | sed 's/:.*//'\n\ntestRunnerCommand: pytest -s  --verbose --html=reports/report.html $test\n```\n\nRunning the above command on the terminal will give a list of Python files that are located in the Project folder:\n\n* tests/lt_selenium_playground.py\n* tests/lt_sample_todo.py\n\nThe *testRunnerCommand* contains the command that is used for triggering the test. The output fetched from the *testDiscoverer* command acts as an input to the *testRunner* command.\n\n```yaml\ntestRunnerCommand: pytest -s  --verbose --html=reports/report.html $test\n```\n\n### Artifacts Management\n\nThe *mergeArtifacts* directive (which is by default *false*) is set to *true* for merging the artifacts and combing artifacts generated under each task.\n\nThe *uploadArtefacts* directive informs HyperExecute to upload artifacts [files, reports, etc.] generated after task completion.  In the example, *path* consists of a regex for parsing the directory (i.e. *reports* that contains the test reports).\n\n```yaml\nmergeArtifacts: true\n\nuploadArtefacts:\n  - name: TestReports\n    path:\n    - reports/**\n```\n\nHyperExecute also facilitates the provision to download the artifacts on your local machine. To download the artifacts, click on *Artifacts* button corresponding to the associated TestID.\n\n\u003cimg width=\"1235\" alt=\"pytest_autosplit_artefacts_1\" src=\"https://user-images.githubusercontent.com/1688653/162379491-b653ba39-d8e3-4a23-b8e8-a40087bcca58.png\"\u003e\n\nNow, you can download the artifacts by clicking on the *Download* button as shown below:\n\n\u003cimg width=\"1420\" alt=\"pytest_autosplit_artefacts_2\" src=\"https://user-images.githubusercontent.com/1688653/162379496-47b27433-4d4c-45fd-8f5a-85aac67e90d4.png\"\u003e\n\n### Test Execution\n\nThe CLI option *--config* is used for providing the custom HyperExecute YAML file (i.e. *yaml/win/pytest_hyperexecute_autosplit_sample.yaml* for Windows and *yaml/linux/pytest_hyperexecute_autosplit_sample.yaml* for Linux).\n\n#### Execute PyTest tests using Autosplit mechanism on Windows platform\n\nRun the following command on the terminal to trigger the tests in Python files with HyperExecute platform set to Windows. The *--download-artifacts* option is used to inform HyperExecute to download the artifacts for the job.\n\n```bash\n./hyperexecute --download-artifacts --config --verbose yaml/win/pytest_hyperexecute_autosplit_sample.yaml\n```\n\n#### Execute PyTest tests using Autosplit mechanism on Linux platform\n\nRun the following command on the terminal to trigger the tests in Python files with HyperExecute platform set to Linux. The *--download-artifacts* option is used to inform HyperExecute to download the artifacts for the job.\n\n```bash\n./hyperexecute --download-artifacts --config --verbose yaml/linux/pytest_hyperexecute_autosplit_sample.yaml\n```\n\nVisit [HyperExecute Automation Dashboard](https://automation.lambdatest.com/hyperexecute) to check the status of execution\n\n\u003cimg width=\"1414\" alt=\"pytest_autosplit_execution\" src=\"https://user-images.githubusercontent.com/1688653/160465444-ea8400a5-a3bf-41ad-98f0-bc70fb9bb284.png\"\u003e\n\nShown below is the execution screenshot when the YAML file is triggered from the terminal:\n\n\u003cimg width=\"1412\" alt=\"pytest_autosplit_cli1_execution\" src=\"https://user-images.githubusercontent.com/1688653/162379499-e3637ce2-5191-4d8d-839d-4801a20e99c4.png\"\u003e\n\n\u003cimg width=\"1408\" alt=\"pytest_autosplit_cli2_execution\" src=\"https://user-images.githubusercontent.com/1688653/162379502-ba4e3db5-55db-4dca-aaae-d2757747a9c8.png\"\u003e\n\n# Matrix Execution with PyTest\n\nMatrix-based test execution is used for running the same tests across different test (or input) combinations. The Matrix directive in HyperExecute YAML file is a *key:value* pair where value is an array of strings.\n\nAlso, the *key:value* pairs are opaque strings for HyperExecute. For more information about matrix multiplexing, check out the [Matrix Getting Started Guide](https://www.lambdatest.com/support/docs/getting-started-with-hyperexecute/#matrix-based-build-multiplexing)\n\n### Core\n\nIn the current example, matrix YAML file (*yaml/win/pytest_hyperexecute_matrix_sample.yaml*) in the repo contains the following configuration:\n\n```yaml\nglobalTimeout: 90\ntestSuiteTimeout: 90\ntestSuiteStep: 90\n```\n\nGlobal timeout, testSuite timeout, and testSuite timeout are set to 90 minutes.\n \nThe target platform is set to Windows. Please set the *[runson]* key to *[mac]* if the tests have to be executed on the macOS platform.\n\n```yaml\nrunson: win\n```\n\nPython files in the 'tests' folder contain the test suites run on the HyperExecute grid. In the example, the tests in the files *tests/lt_sample_todo.py* and *tests/lt_selenium_playground.py* run in parallel using the specified input combinations.\n\n```yaml\nfiles: [\"tests/lt_sample_todo.py\", \"tests/lt_selenium_playground.py\"]\n```\n\nThe *testSuites* object contains a list of commands (that can be presented in an array). In the current YAML file, commands for executing the tests are put in an array (with a '-' preceding each item). The Python command is used to run tests in *.py* files. The files are mentioned as an array to the *files* key that is a part of the matrix.\n\n```yaml\ntestSuites:\n  - pytest -s --verbose --html=reports/report.html $files\n```\n\n### Pre Steps and Dependency Caching\n\nDependency caching is enabled in the YAML file to ensure that the package dependencies are not downloaded in subsequent runs. The first step is to set the Key used to cache directories.\n\n```yaml\ncacheKey: '{{ checksum \"requirements.txt\" }}'\n```\n\nSet the array of files \u0026 directories to be cached. In the example, all the packages will be cached in the *CacheDir* directory.\n\n```yaml\ncacheDirectories:\n  - CacheDir\n```\n\nSteps (or commands) that must run before the test execution are listed in the *pre* run step. In the example, the packages listed in *requirements.txt* are installed using the *pip3* command.\n\nThe *--cache-dir* option is used for specifying the location of the directory used for caching the packages (i.e. *CacheDir*). It is important to note that downloaded cached packages are securely uploaded to a secure cloud before the execution environment is auto-purged after build completion. Please modify *requirements.txt* as per the project requirements.\n\n```yaml\npre:\n  - pip3 install -r requirements.txt --cache-dir CacheDir\n```\n\n### Post Steps\n\nSteps (or commands) that need to run after the test execution are listed in the *post* step. In the example, we *cat* the contents of *yaml/win/pytest_hyperexecute_matrix_sample.yaml*\n\n```yaml\npost:\n  - cat yaml/win/pytest_hyperexecute_matrix_sample.yaml\n```\n\n### Artifacts Management\n\nThe *mergeArtifacts* directive (which is by default *false*) is set to *true* for merging the artifacts and combing artifacts generated under each task.\n\nThe *uploadArtefacts* directive informs HyperExecute to upload artifacts [files, reports, etc.] generated after task completion. In the example, *path* consists of a regex for parsing the directory (i.e. *reports* that contains the test reports).\n\n```yaml\nmergeArtifacts: true\n\nuploadArtefacts:\n  - name: TestReports\n    path:\n    - reports/**\n```\n\nHyperExecute also facilitates the provision to download the artifacts on your local machine. To download the artifacts, click on Artifacts button corresponding to the associated TestID.\n\n\u003cimg width=\"1425\" alt=\"pytest_matrix_artefacts_1\" src=\"https://user-images.githubusercontent.com/1688653/162379474-ddf21135-5481-4f24-816d-17b09ba6dd00.png\"\u003e\n\nNow, you can download the artifacts by clicking on the Download button as shown below:\n\n\u003cimg width=\"1425\" alt=\"pytest_matrix_artefacts_2\" src=\"https://user-images.githubusercontent.com/1688653/160465440-06cfcdf9-c990-4785-b2d4-81728c2bdcf6.png\"\u003e\n\n## Test Execution\n\nThe CLI option *--config* is used for providing the custom HyperExecute YAML file (i.e. *yaml/win/pytest_hyperexecute_matrix_sample.yaml* or *yaml/linux/pytest_hyperexecute_matrix_sample.yaml*).\n\n#### Execute PyTest tests using Matrix mechanism on Windows platform\n\nRun the following command on the terminal to trigger the tests in Python files with HyperExecute platform set to Windows. The *--download-artifacts* option is used to inform HyperExecute to download the artifacts for the job.\n\n```bash\n./hyperexecute --download-artifacts --config --verbose yaml/win/pytest_hyperexecute_matrix_sample.yaml\n```\n\n#### Execute PyTest tests using Matrix mechanism on Linux platform\n\nRun the following command on the terminal to trigger the tests in Python files with HyperExecute platform set to Windows. The *--download-artifacts* option is used to inform HyperExecute to download the artifacts for the job.\n\n```bash\n./hyperexecute --download-artifacts --config --verbose yaml/linux/pytest_hyperexecute_matrix_sample.yaml\n```\n\nVisit [HyperExecute Automation Dashboard](https://automation.lambdatest.com/hyperexecute) to check the status of execution:\n\n\u003cimg width=\"1414\" alt=\"pytest_matrix_execution\" src=\"https://user-images.githubusercontent.com/1688653/162379507-7da7c2de-f1d3-4d21-9f49-08e7692569e4.png\"\u003e\n\nShown below is the execution screenshot when the YAML file is triggered from the terminal:\n\n\u003cimg width=\"1413\" alt=\"pytest_cli1_execution\" src=\"https://user-images.githubusercontent.com/1688653/162379514-08d3b348-7961-4983-8291-8c8e3c059448.png\"\u003e\n\n\u003cimg width=\"1101\" alt=\"pytest_cli2_execution\" src=\"https://user-images.githubusercontent.com/1688653/162379516-299f0d3f-7de1-4f9a-a817-d6e767e5fea8.png\"\u003e\n\n## Secrets Management\n\nIn case you want to use any secret keys in the YAML file, the same can be set by clicking on the *Secrets* button the dashboard.\n\n\u003cimg width=\"703\" alt=\"pytest_secrets_key_1\" src=\"https://user-images.githubusercontent.com/1688653/152540968-90e4e8bc-3eb4-4259-856b-5e513cbd19b5.png\"\u003e\n\nNow create a *secret* key that you can use in the HyperExecute YAML file.\n\n\u003cimg width=\"359\" alt=\"secrets_management_1\" src=\"https://user-images.githubusercontent.com/1688653/153250877-e58445d1-2735-409a-970d-14253991c69e.png\"\u003e\n\nAll you need to do is create an environment variable that uses the secret key:\n\n```yaml\nenv:\n  PAT: ${{ .secrets.testKey }}\n```\n\n## Navigation in Automation Dashboard\n\nHyperExecute lets you navigate from/to *Test Logs* in Automation Dashboard from/to *HyperExecute Logs*. You also get relevant get relevant Selenium test details like video, network log, commands, Exceptions \u0026 more in the Dashboard. Effortlessly navigate from the automation dashboard to HyperExecute logs (and vice-versa) to get more details of the test execution.\n\nShown below is the HyperExecute Automation dashboard which also lists the tests that were executed as a part of the test suite:\n\n\u003cimg width=\"1429\" alt=\"pytest_hyperexecute_automation_dashboard\" src=\"https://user-images.githubusercontent.com/1688653/162379507-7da7c2de-f1d3-4d21-9f49-08e7692569e4.png\"\u003e\n\nHere is a screenshot that lists the automation test that was executed on the HyperExecute grid:\n\n\u003cimg width=\"1429\" alt=\"pytest_testing_automation_dashboard\" src=\"https://user-images.githubusercontent.com/1688653/162379511-9c7f61ca-6203-4fd5-aee4-2bab640a2459.png\"\u003e\n\n## LambdaTest Community :busts_in_silhouette:\n\nThe [LambdaTest Community](https://community.lambdatest.com/) allows people to interact with tech enthusiasts. Connect, ask questions, and learn from tech-savvy people. Discuss best practises in web development, testing, and DevOps with professionals from across the globe.\n\n## Documentation \u0026 Resources :books:\n      \nIf you want to learn more about the LambdaTest's features, setup, and usage, visit the [LambdaTest documentation](https://www.lambdatest.com/support/docs/). You can also find in-depth tutorials around test automation, mobile app testing, responsive testing, manual testing on [LambdaTest Blog](https://www.lambdatest.com/blog/) and [LambdaTest Learning Hub](https://www.lambdatest.com/learning-hub/).     \n      \n ## About LambdaTest\n\n[LambdaTest](https://www.lambdatest.com) is a leading test execution and orchestration platform that is fast, reliable, scalable, and secure. It allows users to run both manual and automated testing of web and mobile apps across 3000+ different browsers, operating systems, and real device combinations. Using LambdaTest, businesses can ensure quicker developer feedback and hence achieve faster go to market. Over 500 enterprises and 1 Million + users across 130+ countries rely on LambdaTest for their testing needs.\n\n[\u003cimg height=\"70\" src=\"https://user-images.githubusercontent.com/70570645/169649126-ed61f6de-49b5-4593-80cf-3391ca40d665.PNG\"\u003e](https://accounts.lambdatest.com/register)\n      \n## We are here to help you :headphones:\n\n* Got a query? we are available 24x7 to help. [Contact Us](mailto:support@lambdatest.com)\n* For more info, visit - https://www.lambdatest.com\n\n## License\nLicensed under the [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambdatest%2Fpytest-selenium-hyperexecute-sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flambdatest%2Fpytest-selenium-hyperexecute-sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambdatest%2Fpytest-selenium-hyperexecute-sample/lists"}