├── .github └── workflows │ ├── desktop_web.yml │ ├── mobile_native.yml │ ├── mobile_web.yml │ ├── python.yml │ └── robot_desktop_web.yml ├── .gitignore ├── .gitpod.yml ├── LICENSE ├── Pipfile ├── Pipfile.lock ├── README.md ├── best_practice ├── README.md ├── conftest.py ├── desktop_web │ ├── test_add_to_cart.py │ ├── test_login_fail.py │ ├── test_login_success.py │ └── test_remove_from_cart.py ├── mobile_native │ ├── android │ │ ├── test_invald_login.py │ │ └── test_valid_login.py │ └── ios │ │ ├── test_invald_login.py │ │ └── test_valid_login.py └── mobile_web │ ├── rdc │ ├── test_add_to_cart.py │ ├── test_login_fail.py │ ├── test_login_success.py │ └── test_remove_from_cart.py │ └── vdc │ ├── test_add_to_cart.py │ ├── test_login_fail.py │ ├── test_login_success.py │ └── test_remove_from_cart.py ├── examples ├── gitpod │ ├── test_appium.py │ └── test_selenium.py ├── playwright │ ├── conftest.py │ ├── test_inventory.py │ └── test_login.py ├── robotframework │ ├── desktop_web │ │ ├── .gitignore │ │ ├── README.md │ │ ├── Tests │ │ │ ├── add_to_cart_test.robot │ │ │ ├── invalid_login.robot │ │ │ ├── remove_from_cart.robot │ │ │ ├── resource.robot │ │ │ └── valid_login.robot │ │ ├── chrome_config.txt │ │ └── firefox_config.txt │ └── native_mobile │ │ ├── android │ │ ├── android_config.txt │ │ └── tests │ │ │ ├── invalid_login.robot │ │ │ └── valid_login.robot │ │ └── ios │ │ ├── iphone_config.txt │ │ └── tests │ │ ├── invalid_login.robot │ │ └── valid_login.robot └── selenium │ ├── conftest.py │ ├── new_features │ ├── test_attribute_property.py │ ├── test_ms_edge.py │ ├── test_new_window.py │ ├── test_print_page.py │ ├── test_relative_locators.py │ └── test_timeouts.py │ ├── resources │ └── .keep │ └── test_login_success.py ├── renovate.json └── requirements.txt /.github/workflows/desktop_web.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/.github/workflows/desktop_web.yml -------------------------------------------------------------------------------- /.github/workflows/mobile_native.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/.github/workflows/mobile_native.yml -------------------------------------------------------------------------------- /.github/workflows/mobile_web.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/.github/workflows/mobile_web.yml -------------------------------------------------------------------------------- /.github/workflows/python.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/.github/workflows/python.yml -------------------------------------------------------------------------------- /.github/workflows/robot_desktop_web.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/.github/workflows/robot_desktop_web.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/.gitpod.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/LICENSE -------------------------------------------------------------------------------- /Pipfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/Pipfile -------------------------------------------------------------------------------- /Pipfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/Pipfile.lock -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/README.md -------------------------------------------------------------------------------- /best_practice/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/README.md -------------------------------------------------------------------------------- /best_practice/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/conftest.py -------------------------------------------------------------------------------- /best_practice/desktop_web/test_add_to_cart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/desktop_web/test_add_to_cart.py -------------------------------------------------------------------------------- /best_practice/desktop_web/test_login_fail.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/desktop_web/test_login_fail.py -------------------------------------------------------------------------------- /best_practice/desktop_web/test_login_success.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/desktop_web/test_login_success.py -------------------------------------------------------------------------------- /best_practice/desktop_web/test_remove_from_cart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/desktop_web/test_remove_from_cart.py -------------------------------------------------------------------------------- /best_practice/mobile_native/android/test_invald_login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/mobile_native/android/test_invald_login.py -------------------------------------------------------------------------------- /best_practice/mobile_native/android/test_valid_login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/mobile_native/android/test_valid_login.py -------------------------------------------------------------------------------- /best_practice/mobile_native/ios/test_invald_login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/mobile_native/ios/test_invald_login.py -------------------------------------------------------------------------------- /best_practice/mobile_native/ios/test_valid_login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/mobile_native/ios/test_valid_login.py -------------------------------------------------------------------------------- /best_practice/mobile_web/rdc/test_add_to_cart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/mobile_web/rdc/test_add_to_cart.py -------------------------------------------------------------------------------- /best_practice/mobile_web/rdc/test_login_fail.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/mobile_web/rdc/test_login_fail.py -------------------------------------------------------------------------------- /best_practice/mobile_web/rdc/test_login_success.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/mobile_web/rdc/test_login_success.py -------------------------------------------------------------------------------- /best_practice/mobile_web/rdc/test_remove_from_cart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/mobile_web/rdc/test_remove_from_cart.py -------------------------------------------------------------------------------- /best_practice/mobile_web/vdc/test_add_to_cart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/mobile_web/vdc/test_add_to_cart.py -------------------------------------------------------------------------------- /best_practice/mobile_web/vdc/test_login_fail.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/mobile_web/vdc/test_login_fail.py -------------------------------------------------------------------------------- /best_practice/mobile_web/vdc/test_login_success.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/mobile_web/vdc/test_login_success.py -------------------------------------------------------------------------------- /best_practice/mobile_web/vdc/test_remove_from_cart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/best_practice/mobile_web/vdc/test_remove_from_cart.py -------------------------------------------------------------------------------- /examples/gitpod/test_appium.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/gitpod/test_appium.py -------------------------------------------------------------------------------- /examples/gitpod/test_selenium.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/gitpod/test_selenium.py -------------------------------------------------------------------------------- /examples/playwright/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/playwright/conftest.py -------------------------------------------------------------------------------- /examples/playwright/test_inventory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/playwright/test_inventory.py -------------------------------------------------------------------------------- /examples/playwright/test_login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/playwright/test_login.py -------------------------------------------------------------------------------- /examples/robotframework/desktop_web/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/robotframework/desktop_web/.gitignore -------------------------------------------------------------------------------- /examples/robotframework/desktop_web/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/robotframework/desktop_web/README.md -------------------------------------------------------------------------------- /examples/robotframework/desktop_web/Tests/add_to_cart_test.robot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/robotframework/desktop_web/Tests/add_to_cart_test.robot -------------------------------------------------------------------------------- /examples/robotframework/desktop_web/Tests/invalid_login.robot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/robotframework/desktop_web/Tests/invalid_login.robot -------------------------------------------------------------------------------- /examples/robotframework/desktop_web/Tests/remove_from_cart.robot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/robotframework/desktop_web/Tests/remove_from_cart.robot -------------------------------------------------------------------------------- /examples/robotframework/desktop_web/Tests/resource.robot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/robotframework/desktop_web/Tests/resource.robot -------------------------------------------------------------------------------- /examples/robotframework/desktop_web/Tests/valid_login.robot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/robotframework/desktop_web/Tests/valid_login.robot -------------------------------------------------------------------------------- /examples/robotframework/desktop_web/chrome_config.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/robotframework/desktop_web/chrome_config.txt -------------------------------------------------------------------------------- /examples/robotframework/desktop_web/firefox_config.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/robotframework/desktop_web/firefox_config.txt -------------------------------------------------------------------------------- /examples/robotframework/native_mobile/android/android_config.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/robotframework/native_mobile/android/android_config.txt -------------------------------------------------------------------------------- /examples/robotframework/native_mobile/android/tests/invalid_login.robot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/robotframework/native_mobile/android/tests/invalid_login.robot -------------------------------------------------------------------------------- /examples/robotframework/native_mobile/android/tests/valid_login.robot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/robotframework/native_mobile/android/tests/valid_login.robot -------------------------------------------------------------------------------- /examples/robotframework/native_mobile/ios/iphone_config.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/robotframework/native_mobile/ios/iphone_config.txt -------------------------------------------------------------------------------- /examples/robotframework/native_mobile/ios/tests/invalid_login.robot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/robotframework/native_mobile/ios/tests/invalid_login.robot -------------------------------------------------------------------------------- /examples/robotframework/native_mobile/ios/tests/valid_login.robot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/robotframework/native_mobile/ios/tests/valid_login.robot -------------------------------------------------------------------------------- /examples/selenium/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/selenium/conftest.py -------------------------------------------------------------------------------- /examples/selenium/new_features/test_attribute_property.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/selenium/new_features/test_attribute_property.py -------------------------------------------------------------------------------- /examples/selenium/new_features/test_ms_edge.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/selenium/new_features/test_ms_edge.py -------------------------------------------------------------------------------- /examples/selenium/new_features/test_new_window.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/selenium/new_features/test_new_window.py -------------------------------------------------------------------------------- /examples/selenium/new_features/test_print_page.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/selenium/new_features/test_print_page.py -------------------------------------------------------------------------------- /examples/selenium/new_features/test_relative_locators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/selenium/new_features/test_relative_locators.py -------------------------------------------------------------------------------- /examples/selenium/new_features/test_timeouts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/selenium/new_features/test_timeouts.py -------------------------------------------------------------------------------- /examples/selenium/resources/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/selenium/test_login_success.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/examples/selenium/test_login_success.py -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/renovate.json -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saucelabs-training/demo-python/HEAD/requirements.txt --------------------------------------------------------------------------------