qqTest.py 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. # -*- coding: utf-8 -*-
  2. from appium import webdriver#倒入 webdriver
  3. import os,time,unittest,HTMLTestRunner#倒入库
  4. class apptestlogin(unittest.TestCase):
  5. def setUp(self):#初始化
  6. self.desired_caps={}
  7. self.desired_caps['platformName'] = 'Android'
  8. self.desired_caps['deviceName']='7bbe99db'
  9. self.desired_caps['preformVersion']='4.3'
  10. self.desired_caps['appPackage'] ='com.tencent.mobileqq'
  11. self.desired_caps['appActivity'] ='.activity.SplashActivity'
  12. self.driver=webdriver.Remote('http://localhost:4723/wd/hub', self.desired_caps)#启动 app
  13. self.driver.implicitly_wait(1) # 全局方法最长超时时间
  14. def tearDown(self):#还原测试环境
  15. self.driver.find_element_by_id('com.tencent.mobileqq:id/conversation_head').click()
  16. self.driver.find_element_by_id('com.tencent.mobileqq:id/settings').click()
  17. self.driver.find_element_by_id('com.tencent.mobileqq:id/account_switch').click()
  18. self.driver.find_element_by_id('com.tencent.mobileqq:id/logoutBtn').click()
  19. self.driver.find_element_by_id('com.tencent.mobileqq:id/dialogRightBtn').click()
  20. self.driver.quit()
  21. def testLogin1(self): # 测试用例
  22. self.driver.find_element_by_id('com.tencent.mobileqq:id/btn_login').click()#登录,定位方式 id
  23. # time.sleep(2)
  24. me = self.driver.find_element_by_android_uiautomator('new UiSelector().textContains("QQ")')# 定位输入qq号,使用uiautomator定位
  25. me.clear() # 输入框输入前最好先清空下
  26. me.send_keys('121354090')
  27. password = self.driver.find_element_by_id('com.tencent.mobileqq:id/password')
  28. password.clear()
  29. password.send_keys('xxx..')
  30. self.driver.find_element_by_id('com.tencent.mobileqq:id/login').click()#点击登录
  31. m = self.driver.find_element_by_id('com.tencent.mobileqq:id/conversation_head')
  32. if m is not None:
  33. print('login is sucess')
  34. else:
  35. print('login is Flase')
  36. print(self.driver.find_element_by_id('com.tencent.mobileqq:id/dialogText ').text)
  37. if __name__ == '__main__':
  38. suiteTest = unittest.TestSuite()
  39. suiteTest.addTest(apptestlogin("testLogin1"))
  40. unittest.TextTestRunner(verbosity=1).run(suiteTest)
  41. # now = time.strftime('%Y-%m%d', time.localtime(time.time()))
  42. # report_dir = r'%s.html' % now
  43. # re_open = open(report_dir, 'wb')
  44. # runner = HTMLTestRunner.HTMLTestRunner(stream=re_open, title = 'QQ 测试', description = '测试结果')
  45. # runner.run(suiteTest)