In this 'Automated Testing using Selenium Python Tutorial' repo, we have covered the following usecases:
- Execution of simple Python tests
- Automating keyboard and mouse interactions
- Switching tabs & windows
- Handling drop-downs, radio-buttons, and alerts
- Automating Frame and iFrame interactions
Step 1
Create a virtual environment by triggering the virtualenv venv command on the terminal
virtualenv venv
Step 2
Navigate the newly created virtual environment by triggering the source venv/bin/activate command on the terminal
source venv/bin/activate
Step 3
Procure the LambdaTest User Name and Access Key by navigating to LambdaTest Account Page. You might need to create an an account on LambdaTest since it is used for running tests on the cloud Grid.
Step 4
Add the LambdaTest User Name and Access Key in the Makefile that is located in the parent directory. Once done, save the Makefile.
Run the make install command on the terminal to install the desired packages (or dependencies) - Pytest, Selenium, etc.
make install
With this, all the dependencies and environment variables are set. Instead of PyUnit/unittest, the Pytest framework is used for test execution. The following websites are used for demonstration:
Follow the below mentioned steps to run automated tests using Selenium Python:
Step 1
Set EXEC_PLATFORM environment variable to cloud. Trigger the command export EXEC_PLATFORM=local on the terminal.
Step 2
Trigger the command make clean to clean the remove pycache folder(s) and .pyc files
Step 3
Trigger the respective make command on the terminal to run the test(s). For example, run the command make mouse_interactions_test for triggering mouse interaction tests.
As seen above, the test execution was successful and the status is "Completed". You can find the status of test execution in the LambdaTest Automation Dashboard.
Simply type make help on the terminal to know the command for running the intended test(s).
Feel free to fork the repo and contribute to make it better! Email to himanshu[dot]sheth[at]gmail[dot]com for any queries or ping me on the following social media sites:
LinkedIn: @hjsblogger
Twitter: @hjsblogger