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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 2

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