# coding=utf-8

from appium import webdriver
import time
import unittest
import os
import HTMLTestRunner class LoginTestLizi(unittest.TestCase):
def setUp(self):
desired_caps = {}
desired_caps['platformName'] = 'Android' # 设备系统
desired_caps['platformVersion'] = '6.0.1' # 设备系统版本
desired_caps['deviceName'] = '270f2988' # 设备名称
desired_caps['appPackage'] = 'com.lizi.app' # 测试app包名
desired_caps['appActivity'] = '.activity.MainActivity' # 测试appActivity
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 启动app def test_login(self):
driver = self.driver
# 进入首页后点击‘我的’按钮
driver.find_element_by_name(u'我的').click()
time.sleep(2)
# 点击登录头像按钮,进行登录,跳转到登录界面
driver.find_element_by_id('com.lizi.app:id/user_login_iv').click()
time.sleep(2)
# 输入用户名
driver.find_element_by_id('com.lizi.app:id/zhanghao_edittext').send_keys('')
# 输入密码
driver.find_element_by_id('com.lizi.app:id/password_edittext').send_keys('password')
# 点击确认登录按钮
driver.find_element_by_id('com.lizi.app:id/login_button').click() time.sleep(3)
# 登录成功,页面下滑,不然点击不到设置按钮
driver.swipe(500, 200, 500, 800, 0)
time.sleep(2)
# 获取登录后的昵称
name = driver.find_element_by_id('com.lizi.app:id/login_username_tv').text # 添加断言,若昵称不正确,则打印错误信息
try:
assert 'No_matter' in name
print 'loginUser is right'
except AssertionError as e:
print 'loginUser is Error' # 点击设置按钮,进入设置页面
driver.find_element_by_id('com.lizi.app:id/setting_imageView').click()
# 点击退出按钮
driver.find_element_by_id('com.lizi.app:id/exit_button').click() def tearDown(self):
self.driver.quit() if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(LoginTestLizi('test_login'))
filename = 'C:\\Temp\\app.html'
fb = open(filename, 'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fb, title='liziapptestreport', description='liziapp')
runner.run(suite)
fb.close()

最新文章

  1. Android 网络框架之Retrofit2使用详解及从源码中解析原理
  2. css3【语法要点】
  3. DWR同步异步设置
  4. Vue API阅读的小细节
  5. linux之iptables
  6. javascript --- Ajax基础
  7. 统计哪些程序占用了swap
  8. javascript 网络是否连接的几种方案
  9. 用NOPI将图片二进制流导出到Excel
  10. 加密解密(9)Diffie-Hellman密钥交换协议
  11. HowTo: SVN undo add without reverting local changes
  12. mcrypt.h not found. Please reinstall libmcrypt
  13. (原)Ubuntu16中安装cuda toolkit
  14. code forces 148D Bag of mice (概率DP)
  15. B/S 和 C/S两种架构
  16. Django之反向生成url
  17. HUSTOJ:5500 && 洛谷:P1412:经营与开发
  18. 微信小程序外包 就找北京动软 专业承接微信小程序定制
  19. Linux记录-lsof打开文件工具常用操作
  20. Integer 的 valueOf 方法 与 常量池(对 String Pool 的部分理解)

热门文章

  1. Luogu 4151 [WC2011]最大XOR和路径
  2. 断电操作导致的jboss项目部署失败------从早上九点一直到下午4点才解决
  3. java全栈day01-02入门案例
  4. hadoop streaming 文档
  5. 【转】 robotframework(rf)中对时间操作的datetime库常用关键字
  6. spark(1) - ubuntu 下 spark 安装
  7. DP【洛谷P4290】 [HAOI2008]玩具取名
  8. atcoder 2643 切比雪夫最小生成树
  9. C#WinForm POST方式提交给网页(与网页交互) (转)
  10. 15.Subtree of Another Tree(判断一棵树是否为另一颗树的子树)