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 相关文章推荐
Python接收Gmail新邮件并发送到gtalk的方法
Mar 10 Python
Python中的filter()函数的用法
Apr 27 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
Jul 08 Python
NetworkX之Prim算法(实例讲解)
Dec 22 Python
python实现周期方波信号频谱图
Jul 21 Python
pip 安装库比较慢的解决方法(国内镜像)
Oct 06 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
May 03 Python
keras导入weights方式
Jun 12 Python
python爬虫中采集中遇到的问题整理
Nov 27 Python
tensorflow2.0教程之Keras快速入门
Feb 20 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
Mar 04 Python
使用Python开发贪吃蛇游戏 SnakeGame
Apr 30 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
PHP5 操作MySQL数据库基础代码
2009/09/29 PHP
ThinkPHP实现动态包含文件的方法
2014/11/29 PHP
Smarty最简单实现列表奇偶变色的方法
2015/07/01 PHP
在PHP语言中使用JSON和将json还原成数组的方法
2016/07/19 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
2019/05/27 PHP
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
jquery photoFrame 图片边框美化显示插件
2010/06/28 Javascript
浅析nodejs实现Websocket的数据接收与发送
2015/11/19 NodeJs
Position属性之relative用法
2015/12/14 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
Ionic项目中Native Camera的使用方法
2017/06/07 Javascript
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
nodejs结合Socket.IO实现的即时通讯功能详解
2018/01/12 NodeJs
微信小程序实现红包雨功能
2018/07/11 Javascript
vue实现分页组件
2020/06/16 Javascript
Node.js EventEmmitter事件监听器用法实例分析
2019/01/07 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
[10:18]2018DOTA2国际邀请赛寻真——Fnatic能否笑到最后?
2018/08/14 DOTA
CentOS7.3编译安装Python3.6.2的方法
2018/01/22 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
2019/08/31 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
浅谈html5与APP混合开发遇到的问题总结
2018/03/20 HTML / CSS
施华洛世奇德国官网:SWAROVSKI德国
2017/02/01 全球购物
世界上最好的足球商店:Unisport
2019/03/02 全球购物
英国领先的独立时装店:Van Mildert
2019/10/28 全球购物
EJB发布WEB服务一般步骤
2012/10/31 面试题
个人求职简历中英文自我评价
2013/12/16 职场文书
银行员工职业规划范文
2014/01/21 职场文书
读书活动实施方案
2014/03/10 职场文书
企业委托书范本
2014/09/13 职场文书
高中军训感想
2015/08/07 职场文书