我有以下屏幕方案:
我必须检查我的(物理)设备是否是英文的。如果没有,我必须切换到英语。
我必须打开我的应用程序并运行我的测试。
我写了两个函数:一个用于检查语言,另一个用于切换语言。然后,在setUp()
我检查它是否是英文。这是我的代码:
def setUp(self):
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.4'
desired_caps['deviceName'] = '0429058934'
desired_caps['app'] = os.path.abspath(os.path.join(os.path.dirname(__file__),'C:/Users/andre.mendes/Desktop/workspace/powerpro/apps/powerpro.apk'))
desired_caps['appPackage'] = 'com.psafe.powerpro'
desired_caps['appActivity'] = '.MainActivity'
desired_caps['autoLaunch'] = False
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
self.driver.implicitly_wait(15)
getLang = "adb -s 0429058934 shell getprop persist.sys.language"
ret = subprocess.check_output(getLang)
lang = ret.strip()
if lang != 'en':
os.system("adb -s 0429058934 shell am start -a android.settings.LOCALE_SETTINGS")
eng = self.driver.find_element_by_name('English (United Kingdom)')
action = TouchAction(self.driver)
action.press(eng).perform()
action.move_to(x=0, y=50).perform()
self.driver.find_element_by_name('English (United States)').click()
self.driver.launch_app()
但是如何在不启动我的应用程序的情况下执行此操作?我试过了:
desired_caps['autoLaunch'] = False
但我一直在接受:
TypeError:无法读取属性' sendAction'为null