zoukankan      html  css  js  c++  java
  • Appium 自动化测试(4)-- 脚本开发:官方demo演示 android_contacts.py

    前提:根据前面的环境搭建介绍,安装好相关环境

    step1:启动android模拟器

    step2:启动Appium服务端

    step3:演示代码执行

      这里执行的是官方的演示代码:通讯录管理app,安装打开app,并添加一个联系人保存的操作

      a.首先去下载ContactManager.apk放到E盘   E:ContactManager.apk

          https://github.com/appium/sample-code/blob/master/sample-code/apps/ContactManager/ContactManager.apk

      b.将官网的示例代码 android_contact.py 下载下来 放在 Python的目录

        https://github.com/appium/sample-code/blob/master/sample-code/examples/python/android_contacts.py

      c.对python代码进行部分修改

    #!/usr/bin/env python 
    # -*- coding: utf-8 -*-
    
    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.2'
            desired_caps['deviceName'] = 'Android Emulator'
            desired_caps['app'] = PATH(
                'E:ContactManager.apk'
            )
            desired_caps['appPackage'] = 'com.example.android.contactmanager'
            desired_caps['appActivity'] = '.ContactManager'
    
            self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    
        def tearDown(self):
            self.driver.quit()
    
        def test_add_contacts(self):
            el = self.driver.find_element_by_accessibility_id("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_accessibility_id("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.press_keycode(3)
    
    
    if __name__ == '__main__':
        suite = unittest.TestLoader().loadTestsFromTestCase(ContactsAndroidTests)
        unittest.TextTestRunner(verbosity=2).run(suite)

    ***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***
  • 相关阅读:
    oracle函数 TO_DATE(X[,c2[,c3]])
    oracle函数 TO_CHAR(x[[,c2],C3])
    oracle函数 RAWTOHEX(c1)
    oracle HEXTORAW(c1)
    oracle函数 CONVERT(c1,set1,set2)
    oracle函数 ROWIDTOCHAR(rowid)
    oracle函数 chartorowid(c1)
    创建可按比例调整的布局的 Windows 窗体
    A Byte of Python(简明Python教程) for Python 3.0 下载
    使用异步事件在后台进行计算并报告进度
  • 原文地址:https://www.cnblogs.com/guanfuchang/p/6654459.html
Copyright © 2011-2022 走看看