Files
appium/sample-code/python/test/test_ios_create_web_session.py
Kazuaki Matsuo cd12ed9a51 Add python sample code (#11208)
* 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
2018-08-22 11:48:58 -07:00

43 lines
1.3 KiB
Python

import pytest
import os
from appium import webdriver
from helpers import take_screenhot_and_syslog, EXECUTOR
from selenium.common.exceptions import InvalidSessionIdException
class TestIOSCreateWebSession():
@pytest.fixture(scope='function')
def driver(self, request, device_logger):
calling_request = request._pyfuncitem.name
driver = webdriver.Remote(
command_executor=EXECUTOR,
desired_capabilities={
'platformName': 'iOS',
'automationName': 'XCUITest',
'platformVersion': os.getenv('IOS_PLATFORM_VERSION') or '10.3',
'deviceName': os.getenv('IOS_DEVICE_NAME') or 'iPhone 6s',
'browserName': 'Safari'
}
)
def fin():
take_screenhot_and_syslog(driver, device_logger, calling_request)
request.addfinalizer(fin)
driver.implicitly_wait(10)
return driver
def test_should_create_and_destroy_android_session(self, driver):
driver.get('https://www.google.com')
title = driver.title
assert 'Google' == title
driver.quit()
with pytest.raises(InvalidSessionIdException) as excinfo:
driver.title
assert 'A session is either terminated or not started' == excinfo.value.msg