# -*- coding: UTF-8 -*-
import os
import time
import unittest
from selenium import webdriver
PATH = lambda p: os.path.abspath(
os.path.join(os.path.dirname(__file__), p)
)
global driver
class Login(unittest.TestCase):
def setUp(self):
#AppPackage = com.xxxxx.xxxx
#AppActivity =.ui.startup.launcher.LaucherActivity
#AppWaitActivity =.ui.startup.role.RoleActivity
desired_caps = {}
desired_caps['device'] = 'android'
desired_caps['platformName'] = 'Android'
desired_caps['browserName'] = ''
desired_caps['version'] = '7.0'
desired_caps['deviceName'] = '79BQADR97R45F' # 这是测试机的型号,可以查看手机的关于本机选项获得
desired_caps['appPackage'] = 'com.tencent.mobileqq'
desired_caps['appActivity'] = '.activity.SplashActivity'
#desired_caps['appWaitActivity'] = ''
desired_caps['app'] = PATH('/Users/用户名
/Desktop/qq.apk') # 被测试的App在电脑上的位置
self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)#启动app
def tearDown(self):
self.driver.quit()
def test_login(self):
time.sleep(30)#启动app时,需要一定时间进入引导页,所以必须设置等待时间,不然下面会一直报错定位不到元素
#self.driver.find_element_by_name('登 录').click() #com.tencent.mobileqq:id/btn_login
self.driver.find_element_by_id('com.tencent.mobileqq:id/btn_login').click()
name = self.driver.find_element_by_id('com.tencent.mobileqq:id/name')
name.click()
name.send_keys('QQ号')
psd = self.driver.find_element_by_id('com.tencent.mobileqq:id/password')
psd.click()
psd.send_keys("密码")
blogin = self.driver.find_element_by_id('com.tencent.mobileqq:id/login')
blogin.click()
time.sleep(10)
# 此处加上检测登录是否成功的代码
if __name__ == '__main__':
unittest.main()
电脑为Mac pro,测试机为meizu,qq.apk在电脑目录里