# 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 = file(filename, 'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fb, title='liziapptestreport', description='liziapp')
runner.run(suite)
fb.close()

Appium+python 一个简单的登录测试实例的更多相关文章

  1. appium +python 一个简单的例子

    appium 安装和python 安装好后. 1.      启动android模拟器--Genymotion-点击Start 2.      启动appium 3.     运行代码. # -*- ...

  2. python一个简单的爬虫测试

    之前稍微学了一点python,后来一直都没用,今天稍微做一个小爬虫试一试.. 参考了: http://www.cnblogs.com/fnng/p/3576154.html 太久没用了,都忘记pych ...

  3. python一个简单的登录

    文件目录下有两个文件 user_name.txt lock_file.txt 实际中可以读数据库里的信息 代码如下 #encoding = utf-8 import sys user_file = ' ...

  4. python一个简单的websocket测试客户端

    朋友发的,之前在网上一直没找着,先记着 #!/usr/bin/env python import asyncio import websockets import json async def tes ...

  5. 一个简单的jQuery插件开发实例

    两年前写的一个简单的jQuery插件开发实例,还是可以看看的: <script type="text/javascript" src="jquery-1.7.2.m ...

  6. PureMVC和Unity3D的UGUI制作一个简单的员工管理系统实例

    前言: 1.关于PureMVC: MVC框架在很多项目当中拥有广泛的应用,很多时候做项目前人开坑开了一半就消失了,后人为了填补各种的坑就遭殃的不得了.嘛,程序猿大家都不喜欢像文案策划一样组织文字写东西 ...

  7. Python 实现简单的登录注册界面

    Python 实现简单的登录注册界面 注意:编写代码之前需要导入很重要的包 import tkinter as tk import pickle from tkinter import message ...

  8. 一个简单的Android小实例

    原文:一个简单的Android小实例 一.配置环境 1.下载intellij idea15 2.安装Android SDK,通过Android SDK管理器安装或卸载Android平台   3.安装J ...

  9. [WCF REST] 一个简单的REST服务实例

    Get:http://www.cnblogs.com/artech/archive/2012/02/04/wcf-rest-sample.html [01] 一个简单的REST服务实例 [02] We ...

随机推荐

  1. BZOJ4152:[AMPPZ2014]The Captain——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=4152 给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1 ...

  2. Linux内核分析第二周--操作系统是如何工作的

    Linux内核分析第二周--操作系统是如何工作的 李雪琦 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course ...

  3. Linux内核分析第五周学习总结——分析system_call中断处理过程

    Linux内核分析第五周学习总结--分析system_call中断处理过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...

  4. 埃及分数&&The Rotation Game&&骑士精神——IDA*

    IDA*:非常好用的搜索,可以解决很多深度浅,但是规模大的搜索问题. 估价函数设计思路:观察一步最多能向答案靠近多少. 埃及分数 题目大意: 给出一个分数,由分子a 和分母b 构成,现在要你分解成一系 ...

  5. C之面向对象编程20170707

    语言只是工具,设计思维才是根本.C虽然是面向过程的语言,但也是可以实现面向对象编程的,本文就是介绍如何使用C语言实现面向对象编程. 我们知道面向对象主要有三大特性:封装,继承,和多态,下面就从这个三个 ...

  6. POJ--3461

    原题链接:http://poj.org/problem?id=3461 分析:求一个串在另一个串中出现的次数,显然用KMP可以解决. #include<cstdio> #include&l ...

  7. [LeetCode] 29. Divide Two Integers ☆☆

    Divide two integers without using multiplication, division and mod operator. If it is overflow, retu ...

  8. Lucene 索引与检索架构图

  9. 不管谁坐了CIO的位置 都必须了解的法则

    目前一些设立了CIO岗位的央企中,CIO也只做到了“IO”(信息官,Information Officer),而没有做到“C”(首席,Chief).老总们总在抱怨没有合适的人选:懂技术的不懂业务,懂业 ...

  10. Linux上怎么快速删除一个目录

    删除文件需要用到rm命令,但删除目录需要添加两个参数: -r  向下递归,不管多少级目录都删除 -f  强行删除,不做提示 #rm -rf 文件目录名