zoukankan      html  css  js  c++  java
  • Python编写Appium测试用例(1)

          有段时间没有使用python编写测试用例了,很长时间以来,感觉appium这个测试工具确实不错,今天又重新拿起来,分享一下自己学习的一些用例,欢迎大家一起交流、学习!

    1.登录客户端

    #coding=utf-8
    import os
    import unittest
    from appium import webdriver
    import time
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC

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

    #定义时间格式
    ISOTIMEFORMAT='%Y-%m-%d %X'

    class LoginTests(unittest.TestCase):
        def setUp(self):
            desired_caps = {}
            desired_caps['platformName'] = 'Android'
            desired_caps['platformVersion'] = '4.4.4'
            desired_caps['deviceName'] = '24c23456' #可以使用adb devices查看连接的机器
            #desired_caps['app'] = PATH('ContactManager/ContactManager.apk')
            desired_caps['appPackage'] = 'com.aaa.bbb'
            desired_caps['appActivity'] = '.MainActivity'

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

        def tearDown(self):
            self.driver.quit() #退出应用

        def test_user_login(self):

            #为了计算找到“个人中心”这个元素需要多长时间,所以打印了2个当前时间
            print time.strftime(ISOTIMEFORMAT, time.localtime())

            #当前进程等待直到找到指定的元素
            WebDriverWait(self.driver,20).until(EC.presence_of_element_located((By.NAME, u'个人中心')))
            print time.strftime( ISOTIMEFORMAT, time.localtime() )
            els = self.driver.find_elements_by_class_name("android.widget.Radio")
            #els[4].click()
            #el = self.driver.find_element_by_id("gerenzhongxin")
            #打开个人中心
            el = self.driver.find_element_by_name(u"个人中心")
            el.click()
            #打开登录页面
            login_register = self.driver.find_element_by_id('btn_islogin')
            login_register.click()
           #输入用户名,密码,然后点击登录
            user_name = self.driver.find_element_by_id('edit_username')
            user_name.send_keys('aaa')
            user_pass = self.driver.find_element_by_id('edit_password')
            user_pass.send_keys('123456')
            user_login = self.driver.find_element_by_id('btn_login')
            user_login.click()

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

    说明:

    大家查看app页面的元素可以使用sdk/tools目录下的uiautomatorviewer.bat(win7直接执行即可)

  • 相关阅读:
    Longest Common Prefix
    Roman to Integer
    Intger to Roman
    Container With Most Water
    Regular Expression Matching
    atoi
    Rotate List
    54. Search a 2D Matrix && Climbing Stairs (Easy)
    53. Minimum Window Substring
    52. Sort Colors && Combinations
  • 原文地址:https://www.cnblogs.com/jiguanghover/p/4965179.html
Copyright © 2011-2022 走看看