我的第一个Python+Appium脚本之APP登录脚本

#coding:utf-8
from appium import webdriver
import time
import unittest
import os
import HTMLTestRunner
from selenium.webdriver.support.ui import WebDriverWait


class LoginTest(unittest.TestCase):
    def setUp(self):
        desired_caps={}
        desired_caps['platformName'] = 'Android' #Android系统 or IOS系统
        desired_caps['deviceName']='D1CGAPE6C2902581' #真机或模块器名
        desired_caps['platformVersion'] = '7.1.1' #Android系统版本
        desired_caps['appPackage']='com.appPackage'  #APP包名
        desired_caps['appActivity']='com.appPackage.WelcomeActivity' #APP启动Activity
        desired_caps['noReset']=True #每次打开APP不开启重置,否则每次都进入四个欢迎页
        desired_caps['resetKeyboard'] = True #隐藏键盘
        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps) #启动APP


    def test_login(self):
            driver = self.driver
            # 进入首页后点击我的按钮
            time.sleep(5)
            driver.find_element_by_id('ActivityMainTabMe').click()
            time.sleep(2)
            # 跳转到登录界面清空账号输入框并输入用户名
            driver.find_element_by_id('LoginUserED').clear() #APP有保存用户名功能
            driver.find_element_by_id('LoginUserED').set_value('18888888888')
            # 清空密码输入框并输入密码
            driver.find_element_by_id('LoginPwdED').clear()
            driver.find_element_by_id('LoginPwdED').set_value('123456')
            # 点击登录按钮
            driver.find_element_by_id('LoginBtn').click()
            time.sleep(5)
            # 我的的APP登录成功后会返回到首页,需要再次点击我的进入个人中心页面
            driver.find_element_by_id('ActivityMainTabMe').click()
            # 获取登录后的昵称
            name = driver.find_element_by_id('MeNameTv').text
            # 添加断言,若昵称不正确,则打印错误信息
            try:
                assert '黄大大' in name
                print('loginUser is right')
            except AssertionError as e:
                print('loginUser is Error')
            # 点击右上角设置,进入设置页面
            driver.find_element_by_id('MeSetting').click()
            # 点击退出按钮
            driver.find_element_by_id('SettingExitLoginBtn').click()
            # 弹出退出提示界面,点击确定
            driver.find_element_by_id('android:id/button1').click()


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


if __name__ == '__main__':
    #构造测试套件
    suite=unittest.TestSuite() 
    suite.addTest(LoginTest("test_login"))
    #按照一定格式获取当前时间
    now=time.strftime("%Y-%m-%d %H_%M_%S")
    ##将当前时间加入到报告文件名称中,定义测试报告存放路径
    filename='F:\ ' +  now + 'result.html' 
    #定义测试报告
    fp=open(filename,'wb')
    runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title='测试报告',description='用例执行情况:')  
    runner.run(suite)
    #关闭报告
    fp.close() 

我的第一个Python+Appium脚本之APP登录脚本_第1张图片

你可能感兴趣的:(随记)