您的位置:首页 > 移动开发

使用python编写appium用例

2015-12-09 20:15 281 查看


安装Python依赖

pip3.4 install nose
pip3.4 install selenium
pip3.4 install Appium-Python-Client


运行测试用例android_contacts.py

import os
import unittest
from appium import webdriver
from time import sleep

# Returns abs path relative to this file and not cwd
PATH = lambda p: os.path.abspath(
os.path.join(os.path.dirname(__file__), p)
)

class ContactsAndroidTests(unittest.TestCase):
def setUp(self):
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.4'
desired_caps['deviceName'] = '192.168.56.111:5555'
desired_caps['app'] = PATH(
'../../../sample-code/apps/ContactManager/ContactManager.apk'
)
desired_caps['appPackage'] = 'com.example.android.contactmanager'
desired_caps['appActivity'] = '.ContactManager'

self.driver = webdriver.Remote('http://0.0.0.0:4723/wd/hub', desired_caps)

def tearDown(self):
self.driver.quit()

def test_add_contacts(self):
el = self.driver.find_element_by_name("Add Contact")
el.click()

textfields = self.driver.find_elements_by_class_name("android.widget.EditText")
textfields[0].send_keys("Appium User")
textfields[2].send_keys("someone@appium.io")

self.assertEqual('Appium User', textfields[0].text)
self.assertEqual('someone@appium.io', textfields[2].text)

self.driver.find_element_by_name("Save").click()

# for some reason "save" breaks things
alert = self.driver.switch_to_alert()

# no way to handle alerts in Android
self.driver.find_element_by_android_uiautomator('new UiSelector().clickable(true)').click()

self.driver.keyevent(3)

if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(ContactsAndroidTests)
unittest.TextTestRunner(verbosity=2).run(suite)


运行用例结果:

bixiaopeng@bixiaopengtekiMacBook-Pro python$ python3.4 android_contacts.py
test_add_contacts (__main__.ContactsAndroidTests) ... ok

----------------------------------------------------------------------
Ran 1 test in 17.214s

OK
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: