Exemplo n.º 1
0
class BaseUnityTest(unittest.TestCase):
    def setUp(self):
        self.forwarding = AltUnityAndroidPortForwarding()
        self.forwarding.remove_all_forwards()
        self.forwarding.forward_port_device()

        self.appium_driver = webdriver.Remote('http://localhost:4723/wd/hub',
                                              CAPS)
        self.wait_for_alt_unity_server()
        self.unity_driver = AltrunUnityDriver(self.appium_driver, 'android')

    def wait_for_alt_unity_server(self):
        device = self.forwarding.get_device()
        device.shell("logcat -c")
        device.shell("logcat -s Unity", handler=self.wait_handler)

    @staticmethod
    def wait_handler(connect):
        file_obj = connect.socket.makefile()
        for line in file_obj:
            if "AltUnity Driver started" in line:
                break
        file_obj.close()
        connect.close()

    def tearDown(self):
        self.unity_driver.stop()
        self.appium_driver.quit()
        self.forwarding.remove_all_forwards()
Exemplo n.º 2
0
    def setup_class(self):
        """
        This method is used to setup desired capabilities and launch app

        """
        self.platform = excel_library.get_Cellvalue(auto_const.CONTROLLER_PATH,
                                                    'execution_controller', 1,
                                                    1)
        print "platform name = " + self.platform

        self.desired_caps = {}

        if (self.platform == "Android"):
            self.desired_caps['platformName'] = 'Android'
            self.desired_caps['deviceName'] = 'device'
            self.desired_caps['app'] = auto_const.APK_PATH
            self.desired_caps['newCommandTimeout'] = 400
        else:
            self.desired_caps['platformName'] = 'iOS'
            self.desired_caps['deviceName'] = 'iPhone8'
            self.desired_caps['automationName'] = 'XCUITest'
            self.desired_caps['app'] = auto_const.IPA_PATH

        self.driver = webdriver.Remote('http://localhost:4723/wd/hub',
                                       self.desired_caps)
        self.altdriver = AltrunUnityDriver(self.driver, self.platform)
Exemplo n.º 3
0
class BaseTest():

    altdriver = None
    driver = None
    eledriver = None
    text = None
    platform = "android"  # set to iOS to change platform

    @classmethod
    def setup_class(self):
        self.desired_caps = {}
        if (self.platform == "android"):
            self.desired_caps['platformName'] = 'Android'
            self.desired_caps['deviceName'] = 'device'
            self.desired_caps['app'] = PATH('../match.apk')
            self.desired_caps['newCommandTimeout'] = 400

        else:
            self.desired_caps['platformName'] = 'iOS'
            self.desired_caps['deviceName'] = 'iPhone8'
            self.desired_caps['automationName'] = 'XCUITest'
            self.desired_caps['app'] = PATH('../../../match.ipa')

        self.driver = webdriver.Remote('http://localhost:4723/wd/hub',
                                       self.desired_caps)
        self.altdriver = AltrunUnityDriver(self.driver, self.platform)

    @classmethod
    def teardown_class(self):
        self.altdriver.stop()
        self.driver.quit()
Exemplo n.º 4
0
def unity():
    appium = webdriver.Remote(config.APPIUM_HOST, config.DESIRED_CAPABILITIES)
    time.sleep(config.SLEEP_BEFORE_INIT_UNITY_DRIVER)
    unity = AltrunUnityDriver(appium, config.PLATFORM)
    yield unity
    unity.stop()
    appium.quit()
Exemplo n.º 5
0
    def setUp(self):
        self.forwarding = AltUnityAndroidPortForwarding()
        self.forwarding.remove_all_forwards()
        self.forwarding.forward_port_device()

        self.appium_driver = webdriver.Remote('http://localhost:4723/wd/hub',
                                              CAPS)
        self.wait_for_alt_unity_server()
        self.unity_driver = AltrunUnityDriver(self.appium_driver, 'android')
Exemplo n.º 6
0
    def setup_class(self):
        self.desired_caps = {}
        if (self.platform == "android"):
            self.desired_caps['platformName'] = 'Android'
            self.desired_caps['deviceName'] = 'device'
            self.desired_caps['app'] = PATH('../match.apk')
            self.desired_caps['newCommandTimeout'] = 400

        else:
            self.desired_caps['platformName'] = 'iOS'
            self.desired_caps['deviceName'] = 'iPhone8'
            self.desired_caps['automationName'] = 'XCUITest'
            self.desired_caps['app'] = PATH('../../../match.ipa')

        self.driver = webdriver.Remote('http://localhost:4723/wd/hub',
                                       self.desired_caps)
        self.altdriver = AltrunUnityDriver(self.driver, self.platform)
Exemplo n.º 7
0
    def __init__(self, driver=Remote, **kwargs):
        self.forwarding = AltUnityAndroidPortForwarding()
        self.forwarding.remove_all_forwards()
        self.forwarding.forward_port_device()

        self.appium_driver = driver(**kwargs)
        self.wait_for_alt_unity_server()
        self.unity_driver = AltrunUnityDriver(self.appium_driver, 'android')
Exemplo n.º 8
0
 def setUpClass(cls):
     cls.desired_caps = {}
     if (cls.platform == "android"):
         cls.setup_android()
     else:
         cls.setup_ios()
     cls.driver = webdriver.Remote('http://localhost:4723/wd/hub',
                                   cls.desired_caps)
     cls.altdriver = AltrunUnityDriver(cls.driver, cls.platform)
Exemplo n.º 9
0
def start_game():
    appium = webdriver.Remote(config.APPIUM_HOST, config.DESIRED_CAPABILITIES)
    unity = AltrunUnityDriver(appium, config.PLATFORM)
    main_menu = MainMenu(unity)
    main_menu.play_button.tap()
    return {
        "Appium": appium,
        "Unity": unity,
        "Game": Game(unity),
        "MainMenu": main_menu,
        "Level": Level(unity),
        "Player": Player(unity),
        "LevelCompleteMenu": LevelComplete(unity),
    }
Exemplo n.º 10
0
class DeviceFarmAppiumTests(unittest.TestCase):

    @classmethod
    def setup_class(self):
        desired_caps = {}
        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
        self.altdriver = AltrunUnityDriver(self.driver, "android")
        self.screenshot_folder = os.getenv('SCREENSHOT_PATH', '/tmp')

    @classmethod
    def teardown_class(self):
        self.altdriver.stop()
        self.driver.quit()

    def test_01_wait_for_scene(self):
        self.altdriver.wait_for_current_scene_to_be("Scene 1 AltUnityDriverTestScene")
        self.driver.save_screenshot(self.screenshot_folder + '/scene_loaded.png')

    def test_02_find_elements(self):
        self.altdriver.find_element('Plane')
        self.altdriver.find_element('Capsule')
        self.driver.save_screenshot(self.screenshot_folder + '/after_capsule_tap.png')

    def test_03_tap_elements(self):
        self.altdriver.find_element('UIButton').tap()
        capsule_info = self.altdriver.wait_for_element_with_text('CapsuleInfo', 'UIButton clicked to jump capsule!')
        assert capsule_info.get_text() == 'UIButton clicked to jump capsule!'
        self.driver.save_screenshot(self.screenshot_folder + "/after_button_press.png")
        
        # tap capsule to make it jump
        self.altdriver.find_element('Capsule').tap()
        self.altdriver.wait_for_element_with_text('CapsuleInfo', 'Capsule was clicked to jump!')
        self.driver.save_screenshot(self.screenshot_folder + "/after_capsule_press.png")
Exemplo n.º 11
0
 def setup_class(self):
     desired_caps = {}
     self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
     self.altdriver = AltrunUnityDriver(self.driver, "android")
     self.screenshot_folder = os.getenv('SCREENSHOT_PATH', '/tmp')