Appium+Python实现简单的自动化登录测试的实现


Posted in Python onJanuary 26, 2021

前言

要想让手机app自动登录,也就是让app自己操作。所以在脚本中我们需要对app控件进行操作,那么我们需要获取控件的信息。可以使用..\android-sdk-windows\tools目录下的uiautomatorviewer.bat来获取控件相关信息

获取控件相关信息

启动uiautomatorviewer.bat

Appium+Python实现简单的自动化登录测试的实现

打开手机app,例如计算器,USB连接电脑,点击uiautomatorviewer左上角的安卓机器人按钮Devices Screenshot按钮刷新页面

Appium+Python实现简单的自动化登录测试的实现

定位元素:移动鼠标到需要定位的元素上,如数字7。右下角可以看到元素对应的属性

Appium+Python实现简单的自动化登录测试的实现

登录脚本实现

# coding=utf-8
__author__ = "Enoch"
# 这是一个app登录的测试
 
from appium import webdriver
from HTMLTestRunner import HTMLTestRunner
import unittest
import time
import warnings
 
 
class LoginTest(unittest.TestCase):
 
  def setUp(self):
    warnings.simplefilter("ignore", ResourceWarning)
    desired_caps = {
      'platformName': 'Android',
      'deviceName': 'SGEEGEHIQ8I7CIKF',
      'platformVersion': '6.0',
      'appPackage': 'com.mengtuiapp.mall',
      'appActivity': '.business.main.MainActivity'
    }
    self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
 
  def testCase(self):
    u"""登录"""
    driver = self.driver
    # time.sleep(2)
    driver.find_element_by_id("bottom_nav").click()
 
    time.sleep(2)
    driver.find_element_by_name('使用其他方式登录').click()
 
    driver.find_element_by_name('手机登录').click()
 
    driver.find_element_by_id("username").send_keys("13100010001")
 
    driver.find_element_by_name('获取验证码').send_keys("9876")
 
    driver.find_element_by_id("btn").click()
 
    driver.quit()
 
 
if __name__ == '__main__':
    print("----------执行---------- ")
    suite = unittest.TestSuite() # 构造测试集
    suite.addTest(LoginTest('testCase'))
    # 定义自动化报告目录
    filename = "F:\\report.html"
    fp = open(filename, 'wb')
    runner = HTMLTestRunner(
        stream=fp,
        title=u'自动化测试报告',
        description=u'这是登录测试的简单报告'
     )
    runner.run(suite)
    fp.close()

到此这篇关于Appium+Python实现简单的自动化登录测试的实现的文章就介绍到这了,更多相关Appium Python自动化登录测试内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
在Django中限制已登录用户的访问的方法
Jul 23 Python
python实现汉诺塔方法汇总
Jul 25 Python
Python实现网站注册验证码生成类
Jun 08 Python
python中实现控制小数点位数的方法
Jan 24 Python
Python子类继承父类构造函数详解
Feb 19 Python
详解python做UI界面的方法
Feb 27 Python
在Python中使用Neo4j的方法
Mar 14 Python
Python paramiko模块使用解析(实现ssh)
Aug 30 Python
Python计算公交发车时间的完整代码
Feb 12 Python
Python虚拟环境库virtualenvwrapper安装及使用
Jun 17 Python
用python实现前向分词最大匹配算法的示例代码
Aug 06 Python
python井字棋游戏实现人机对战
Apr 28 Python
使用Python+Appuim 清理微信的方法
Jan 26 #Python
详解使用python爬取抖音app视频(appium可以操控手机)
Jan 26 #Python
python Matplotlib基础--如何添加文本和标注
Jan 26 #Python
python如何用matplotlib创建三维图表
Jan 26 #Python
python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解
Jan 26 #Python
Python数据模型与Python对象模型的相关总结
Jan 26 #Python
使用豆瓣源来安装python中的第三方库方法
Jan 26 #Python
You might like
初级的用php写的采集程序
2007/03/16 PHP
php SQL防注入代码集合
2008/04/25 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
2014/06/12 PHP
PHP使用递归算法无限遍历数组示例
2017/01/13 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
超级有用的13个基于jQuery的内容滚动插件和教程
2011/07/31 Javascript
c#+jquery实现获取radio和checkbox的值
2020/09/12 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
jquery.Callbacks的实现详解
2016/11/30 Javascript
Vue-Access-Control 前端用户权限控制解决方案
2017/12/01 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
a标签调用js的方法总结
2019/09/05 Javascript
Vue实现移动端拖拽交换位置
2020/07/29 Javascript
vue props default Array或是Object的正确写法说明
2020/07/30 Javascript
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
[01:48]DOTA2 2015国际邀请赛中国区预选赛第二日战报
2015/05/27 DOTA
Python 正则表达式操作指南
2009/05/04 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
django使用xlwt导出excel文件实例代码
2018/02/06 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
Flask框架踩坑之ajax跨域请求实现
2019/02/22 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
HTML5和CSS3实例教程总结(推荐)
2016/07/18 HTML / CSS
2014年国培研修感言
2014/03/09 职场文书
会计学自荐信
2014/06/03 职场文书
团日活动总结怎么写
2014/06/25 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
政府四风问题整改措施
2014/10/04 职场文书
学生上课说话检讨书
2014/10/25 职场文书
六一文艺汇演开幕词
2015/01/29 职场文书
追悼会答谢词范文
2015/09/29 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
MySQL创建高性能索引的全步骤
2021/05/02 MySQL
css中z-index: 0和z-index: auto的区别
2021/08/23 HTML / CSS