i use python to write testcases ,and the appium is the latest.
i want to cross app to test, when i use start_activity(‘mypackage’, ‘activity’) is not work well
thank you
-- coding:utf-8 --
import unittest
import time
from appium import webdriver
from nose import with_setup
class TestDemo:
def init(self):
self.driver = None
def setup(self):
desired_caps = {
'platformName': 'Android',
'deviceName': 'P008000150000127',
'appPackage':'com.xxxx.app.launcher',
'appActivity': '.ui.MainActivity',
'unicodeKeyboard': True
}
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
def teardown(self):
try:
self.driver.quit()
except:
pass
@with_setup(setup, teardown)
def test_func(self):
ele = self.driver.find_element_by_android_uiautomator('new UiSelector().resourceId("com.xxx.app.launcher:id/app_music")')
try:
assert ele.is_displayed()
ele.click()
except AssertionError as e:
print(e)
raise Exception(e)
finally:
self.driver.quit()
self.driver.start_activity('com.qinggan.app.music', '.activity.MusicPlayerActivity')
time.sleep(5)
next_ele = self.driver.find_element_by_android_uiautomator('new UiSelector().resourceId("com.qinggan.app.music:id/img_next")')
assert next_ele.is_displayed()
time.sleep(3)
next_ele.click()
the exception is
File “/home/ogq/learn/appium_demo.py”, line 54, in test_func
self.driver.start_activity(‘com.xxxx.app.music’, ‘.activity.MusicPlayerActivity’)
File “/usr/local/lib/python3.4/site-packages/appium/webdriver/webdriver.py”, line 572, in start_activity
self.execute(Command.START_ACTIVITY, data)
File “/usr/local/lib/python3.4/site-packages/selenium/webdriver/remote/webdriver.py”, line 236, in execute
self.error_handler.check_response(response)
File “/usr/local/lib/python3.4/site-packages/appium/webdriver/errorhandler.py”, line 29, in check_response
raise wde
File “/usr/local/lib/python3.4/site-packages/appium/webdriver/errorhandler.py”, line 24, in check_response
super(MobileErrorHandler, self).check_response(response)
File “/usr/local/lib/python3.4/site-packages/selenium/webdriver/remote/errorhandler.py”, line 192, in check_response
raise exception_class(message, screen, stacktrace)
nose.proxy.WebDriverException: Message: A session is either terminated or not started