zoukankan      html  css  js  c++  java
  • 使用python写appium用例

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

    微信公众帐号: wirelessqa

    wirelessqa

    关于作者:

    作者: 毕小朋 | 老 毕 邮箱: wirelessqa.me@gmail.com

    微博: @WirelessQA 博客: http://blog.csdn.net/wirelessqa

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    你可能不知道的css-doodle
    js变量提升与函数提升的详细过程
    绑定Github上的个人博客到Godaddy域名
    基于Github&Hexo的个人博客搭建过程
    github提交代码contributions不显示小绿块
    从零开始学 Web 系列教程
    从零开始学 Web 之 Vue.js(六)Vue的组件
    从零开始学 Web 之 Vue.js(五)Vue的动画
    从零开始学 Web 之 Vue.js(四)Vue的Ajax请求和跨域
    CSS(二)- 选择器
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4712880.html
Copyright © 2011-2022 走看看