Exemple #1
0
    def setUpClass(cls, platform='mobile'):
        if not hasattr(builtins, 'threadlocal'):

            builtins.threadlocal = threading.local()

            #Use Default Driver or display device selector
            if HotDogBaseTest.SKIP_SELECTOR == 'True':
                builtins.threadlocal.config = HotDogBaseTest.DEFAULT_CONFIG
            else:
                builtins.threadlocal.config = DeviceSelector(platform=platform).getDevice()[0]

            # If testing mobile apps, append app info into desired caps
            if 'platformName' in builtins.threadlocal.config['desiredCaps']:
                if builtins.threadlocal.config['desiredCaps']['platformName'].upper() == 'ANDROID':
                    builtins.threadlocal.config['desiredCaps']['app'] = GetConfig('ANDROID_APP_URL')
                else:
                    builtins.threadlocal.config['desiredCaps']['app'] = GetConfig('IOS_APP_URL')

            # Instantiate Driver
            desired_caps = builtins.threadlocal.config['desiredCaps']
            provider = builtins.threadlocal.config['options']['provider']
            try:
                builtins.threadlocal.driver = cls.select_driver(cls, desired_caps, provider)
            except:
                print(sys.exc_info()[1])
                raise unittest.SkipTest('Could not launch driver')
def get_tests():
    tests_to_run = []
    result = []
    failed_tests = json.loads(r.content.decode("utf-8") )
    for device in DeviceSelector(True, platform='desktop').getDevice():
        for t in failed_tests:
            if t[1] == device['options']['deviceName'].replace('.',''):
                tests_to_run.append(t[0])

        builtins.threadlocal = threading.local()

        loader = unittest.TestLoader()

        tests = loader.discover('./Tests', pattern='*Tests.py')
        runner = unittest.TextTestRunner()

        tcs = [y for x in[y for x in test_name(tests) for y in x] for y in x]

        for tc in tcs:
            if tc._testMethodName in tests_to_run:
                t = threading.Thread(target=run_all_test, args=[device, tc])
                threads.append(t)

                t.start()
Exemple #3
0
os.environ['PROJECTFOLDER'] = get_full_path('')
from appium_selector.DeviceSelector import DeviceSelector

MustardURL = GetConfig('MUSTARD_URL').replace('results',
                                              'executions') + '/close'
MustardKey = GetConfig('MUSTARD_KEY')

# r = requests.post(MustardURL, data={'project_key': MustardKey,})

os.environ['AddMustard'] = 'True'

builtins.threadlocal = threading.local()


def run_all_test(device=None):
    builtins.threadlocal.config = device
    builtins.threadlocal.driver = None
    builtins.threadlocal.keepSession = False
    loader = unittest.TestLoader()

    tests = loader.discover('./Tests/', pattern='*Tests.py')
    runner = unittest.TextTestRunner()
    runner.run(tests)


threads = []
for device in DeviceSelector(True, platform='desktop').getDevice():
    t = threading.Thread(target=run_all_test, args=[device])
    threads.append(t)
    t.start()
Exemple #4
0
import unittest
import threading
import builtins

os.environ['PROJECTFOLDER'] = get_full_path('')

from appium_selector.DeviceSelector import DeviceSelector

os.environ['AddMustard'] = 'True'

builtins.threadlocal = threading.local()


def run_all_test(device=None):
    builtins.threadlocal.config = device
    loader = unittest.TestLoader()

    tests = loader.discover('./Tests', pattern='*Tests.py')
    runner = unittest.TextTestRunner()
    runner.run(tests)


threads = []
devices = DeviceSelector(True, platform='').getDevice()
for device in devices:
    #t = threading.Thread(target=run_all_test, args=[device])
    #threads.append(t)
    print(str(device))
    #t.start()

print(len(devices))
Exemple #5
0
import unittest
import threading
import builtins

os.environ['PROJECTFOLDER'] = get_full_path('')

from appium_selector.DeviceSelector import DeviceSelector

os.environ['AddMustard'] = 'True'

builtins.threadlocal = threading.local()


def run_all_test(device=None):
    builtins.threadlocal.config = device
    builtins.threadlocal.driver = None
    builtins.threadlocal.keepSession = False
    loader = unittest.TestLoader()

    tests = loader.discover('./Tests', pattern='*Tests.py')
    runner = unittest.TextTestRunner()
    runner.run(tests)


threads = []
for device in DeviceSelector(True,
                             platform='desktop').getDevice(filter='.*Sauce.*'):
    t = threading.Thread(target=run_all_test, args=[device])
    threads.append(t)
    t.start()