-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbase_test.py
51 lines (41 loc) · 1.63 KB
/
base_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License").
# You may not use this file except in compliance with the License.
# A copy of the License is located at
#
# http://aws.amazon.com/apache2.0
#
# or in the "license" file accompanying this file. This file is distributed
# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
# express or implied. See the License for the specific language governing
# permissions and limitations under the License.
import unittest
import appium
from appium import webdriver
from tests.pages import NavigationPage
from appium.options.ios import XCUITestOptions
class BaseTest(unittest.TestCase):
"""Basis for all tests."""
def setUp(self):
print(appium.version.version)
"""Sets up desired capabilities and the Appium driver."""
url = 'http://127.0.0.1:4723/wd/hub'
desired_caps = {}
"""
The following desired capabilities must be set when running locally.
Make sure they are NOT set when uploading to Device Farm.
desired_caps['platformName'] = 'iOS'
desired_caps['deviceName'] = 'iPhone'
"""
options = XCUITestOptions()
self.driver = webdriver.Remote(url, options=options)
self.navigation_page = NavigationPage(self.driver)
def tearDown(self):
"""Shuts down the driver."""
self.driver.quit()
def get_name(self):
raise NotImplementedError
def navigate_to_page(self):
"""Navigates to desired page."""
self.navigation_page.go_to_category(self.get_name())