Skip to main content

python-client for optimusCloud

Project description

Python-Client

Getting the Optimus Python client

There are three ways to install and use the Optimus Python client.

  1. Install from PyPi, as Optimus-Python-Client

    pip install Optimus-Python-Client
    
  2. Install from source, via PyPi. From Optimus-Python-Client, download and unarchive the source tarball (Optimus-Python-Client-X.X.tar.gz).

    tar -xvf Optimus-Python-Client-X.X.tar.gz
    cd Optimus-Python-Client-X.X
    python setup.py install
    
  3. Install from source via GitHub.

    git clone <path>
    cd python-client
    python setup.py install
    

Run Tests

  1. With Python's unittest

    • Create setUp and tearDown method inside a class.

      import unittest
      
      from remote.OptimusCloudDriver import OptimusCloudDriver
      from remote.OptimusCloudManager import OptimusCloudManager
      
      class BaseTest(unittest.TestCase):
          def setUp(self) -> None:
              desired_caps = {
                  'platformName': 'Android',
                  'appPackage': 'com.cleartrip.android',
                  'appActivity': 'com.cleartrip.android.activity.common.SplashActivity'
              }
              self.mobileDriverDetails = OptimusCloudDriver().createDriver(desiredCapabilities=desired_caps)
              self.driver = self.mobileDriverDetails.mobileDriver
      
          def tearDown(self) -> None:
              OptimusCloudManager().releaseSession(self.mobileDriverDetails)
      
    • Write the test.

      class TestFile(BaseTest):
          def test_page_title(self):
              sleep(3)
              self.driver.find_element_by_id("classic_bottom_navigation_icon").click()
              assert self.driver.find_element_by_id("headerTxt").text == "Search Flights"
      
    • Run the tests

  2. With pytest

    • Write setup and teardown method in a class

      import pytest
      
      from remote.OptimusCloudDriver import OptimusCloudDriver
      from remote.OptimusCloudManager import OptimusCloudManager
      
      class DriverFactory(object):
          @pytest.fixture(scope='function', autouse=True)
          def setUp(self) -> None:
              desired_caps = {
                  'platformName': 'Android',
                  'appPackage': 'com.cleartrip.android',
                  'appActivity': 'com.cleartrip.android.activity.common.SplashActivity'
              }
              self.mobileDriverDetails = OptimusCloudDriver().createDriver(desiredCapabilities=desired_caps)
              self.driver = self.mobileDriverDetails.mobileDriver
      
          @pytest.fixture(scope='function', autouse=True)
          def tearDown(self) -> None:
              OptimusCloudManager().releaseSession(self.mobileDriverDetails)
      

      Read more about fixtures here

    • Write the Test class

      from time import sleep
      
      from test.DriverFactory import DriverFactory
      
      class TestPageTitle(DriverFactory):
          def test_page_title(self):
              sleep(3)
              self.driver.find_element_by_id("classic_bottom_navigation_icon").click()
              assert self.driver.find_element_by_id("headerTxt").text == "Search Flights"
      
    • Run the test

      pytest TestPageTitle.py 
      

Run tests in parallel

  • Parallelization can be achieved by using pytest-xdist

    • Install it via pip or pip3

      pip install pytest-xdist

      pip3 install pytest-xdist

    • Write multiple tests or test in multiple files

    • Run the test

      pytest -n <number of thread>

      pytest -n 2
      

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Optimus-Python-Client-0.3.5.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

Optimus_Python_Client-0.3.5-py2-none-any.whl (17.6 kB view details)

Uploaded Python 2

File details

Details for the file Optimus-Python-Client-0.3.5.tar.gz.

File metadata

  • Download URL: Optimus-Python-Client-0.3.5.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for Optimus-Python-Client-0.3.5.tar.gz
Algorithm Hash digest
SHA256 ab92aa03dba4a50535bfbde33be7e4a61ec2a12000bd2e9e584a11aa59dd30b3
MD5 69f34dbef4c8da023f47f153bcc9e245
BLAKE2b-256 c5cb62550ef58132ad828070ce3c600121f3cf2cb9eedadfaa7bce847a8c5152

See more details on using hashes here.

File details

Details for the file Optimus_Python_Client-0.3.5-py2-none-any.whl.

File metadata

  • Download URL: Optimus_Python_Client-0.3.5-py2-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for Optimus_Python_Client-0.3.5-py2-none-any.whl
Algorithm Hash digest
SHA256 4d8ed8f409840cd4cff6988df6dbdf05426b9c447fc0c6aa1b762b0294b0b940
MD5 390918cb84168ff67276009824973f4c
BLAKE2b-256 b7ef3ba6901c1d97d8ab1780ddfd76c073360d2551ad54260986076652f2e6ac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page