zoukankan      html  css  js  c++  java
  • Appium入门示例(python)

     

    安装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

     

  • 相关阅读:
    Dash panel 里面添加启动项
    Ubuntu安装chrome
    多核CPU服务器 tomcat配置
    Iptux 信使 自动缩小问题 ubuntu12.04
    Html5 上传文件
    ubuntu 12.04 字体设置
    Ubuntu12.04 Eclipse 背景颜色 修改
    一些需要禁用的PHP危险函数
    Oracle 修改带数据的字段类型
    oracle 中同一个字段1 ,字段追加,字段部分数据删除
  • 原文地址:https://www.cnblogs.com/wangcp-2014/p/5688916.html
Copyright © 2011-2022 走看看