mirror of
https://github.com/appium/appium.git
synced 2026-01-14 06:10:01 -06:00
* add initial python sample
* add all of ios and android tests
* apply formatter
* add >=0.28 to avoid version error
* tweak versions of default OS
* convert some tests to unittest based ones
* use single quote mainly
* use {} format style for string
* use format syntax
* apply format and tweak assertions
* use is None
* use assert raise
* speficy a number of elements
* tweak exception
* move app path to helper
* tweak assertion conditions
* remove .close since with open() close file automatically
48 lines
1.8 KiB
Python
48 lines
1.8 KiB
Python
import pytest
|
|
import os
|
|
|
|
from appium import webdriver
|
|
from helpers import take_screenhot_and_logcat, ANDROID_APP_PATH, EXECUTOR
|
|
|
|
|
|
class TestAndroidBasicInteractions():
|
|
|
|
@pytest.fixture(scope='function')
|
|
def driver(self, request, device_logger):
|
|
calling_request = request._pyfuncitem.name
|
|
driver = webdriver.Remote(
|
|
command_executor=EXECUTOR,
|
|
desired_capabilities={
|
|
'app': ANDROID_APP_PATH,
|
|
'platformName': 'Android',
|
|
'automationName': 'UIAutomator2',
|
|
'platformVersion': os.getenv('ANDROID_PLATFORM_VERSION') or '7.1',
|
|
'deviceName': os.getenv('ANDROID_DEVICE_VERSION') or 'Android'
|
|
}
|
|
)
|
|
|
|
def fin():
|
|
take_screenhot_and_logcat(driver, device_logger, calling_request)
|
|
driver.quit()
|
|
|
|
request.addfinalizer(fin)
|
|
|
|
driver.implicitly_wait(10)
|
|
return driver
|
|
|
|
def test_should_find_elements_by_accessibility_id(self, driver):
|
|
search_parameters_element = driver.find_elements_by_accessibility_id('Content')
|
|
assert 1 == len(search_parameters_element)
|
|
|
|
def test_should_find_elements_by_id(self, driver):
|
|
action_bar_container_elements = driver.find_elements_by_id('android:id/action_bar_container')
|
|
assert 1 == len(action_bar_container_elements)
|
|
|
|
def test_should_find_elements_by_class_name(self, driver):
|
|
action_bar_container_elements = driver.find_elements_by_class_name('android.widget.FrameLayout')
|
|
assert 3 == len(action_bar_container_elements)
|
|
|
|
def test_should_find_elements_by_xpath(self, driver):
|
|
action_bar_container_elements = driver.find_elements_by_xpath('//*[@class="android.widget.FrameLayout"]')
|
|
assert 3 == len(action_bar_container_elements)
|