移动测试之appium+python 简单例子(五)
2024-08-29 18:13:01
# 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()
最新文章
- Android 网络框架之Retrofit2使用详解及从源码中解析原理
- css3【语法要点】
- DWR同步异步设置
- Vue API阅读的小细节
- linux之iptables
- javascript --- Ajax基础
- 统计哪些程序占用了swap
- javascript 网络是否连接的几种方案
- 用NOPI将图片二进制流导出到Excel
- 加密解密(9)Diffie-Hellman密钥交换协议
- HowTo: SVN undo add without reverting local changes
- mcrypt.h not found. Please reinstall libmcrypt
- (原)Ubuntu16中安装cuda toolkit
- code forces 148D Bag of mice (概率DP)
- B/S 和 C/S两种架构
- Django之反向生成url
- HUSTOJ:5500 &;&; 洛谷:P1412:经营与开发
- 微信小程序外包 就找北京动软 专业承接微信小程序定制
- Linux记录-lsof打开文件工具常用操作
- Integer 的 valueOf 方法 与 常量池(对 String Pool 的部分理解)
热门文章
- Luogu 4151 [WC2011]最大XOR和路径
- 断电操作导致的jboss项目部署失败------从早上九点一直到下午4点才解决
- java全栈day01-02入门案例
- hadoop streaming 文档
- 【转】 robotframework(rf)中对时间操作的datetime库常用关键字
- spark(1) - ubuntu 下 spark 安装
- DP【洛谷P4290】 [HAOI2008]玩具取名
- atcoder 2643 切比雪夫最小生成树
- C#WinForm POST方式提交给网页(与网页交互) (转)
- 15.Subtree of Another Tree(判断一棵树是否为另一颗树的子树)