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使用Socket(Https)Post登录百度的实现代码
May 18 Python
Python中几种导入模块的方式总结
Apr 27 Python
python实现各进制转换的总结大全
Jun 18 Python
Python通过future处理并发问题
Oct 17 Python
基于python绘制科赫雪花
Jun 22 Python
Python 学习教程之networkx
Apr 15 Python
python3中property使用方法详解
Apr 23 Python
详解程序意外中断自动重启shell脚本(以Python为例)
Jul 26 Python
Python使用字典实现的简单记事本功能示例
Aug 15 Python
python基于property()函数定义属性
Jan 22 Python
PyQt5 如何让界面和逻辑分离的方法
Mar 24 Python
python基础之爬虫入门
May 10 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 模拟$_PUT实现代码
2010/03/15 PHP
php 代码优化之经典示例
2011/03/24 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
总结PHP删除字符串最后一个字符的三种方法
2016/08/30 PHP
php四种定界符详解
2017/02/16 PHP
JQuery+JS实现仿百度搜索结果中关键字变色效果
2011/08/02 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
Jquery性能优化详解
2014/05/15 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
2015/03/03 Javascript
location.hash保存页面状态的技巧
2016/04/28 Javascript
javaScript中定义类或对象的五种方式总结
2016/12/04 Javascript
vue2 自定义动态组件所遇到的问题
2017/06/08 Javascript
jQuery实现简单的下拉菜单导航功能示例
2017/12/07 jQuery
解决微信小程序防止无法回到主页的问题
2018/09/28 Javascript
Nuxt使用Vuex的方法示例
2019/09/06 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
[06:21]完美世界亚洲区首席发行官竺琦TI3采访
2013/08/26 DOTA
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
Python中变量的输入输出实例代码详解
2019/07/28 Python
python使用opencv实现马赛克效果示例
2019/09/28 Python
Python变量格式化输出实现原理解析
2020/08/06 Python
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
美国LOGO设计公司:The Logo Company
2018/07/16 全球购物
澳大利亚排名第一的狂热牛仔品牌:ONETEASPOON
2018/11/20 全球购物
会计专业推荐信
2013/10/29 职场文书
应用艺术毕业生的自我评价
2013/12/04 职场文书
求职信的正确写法
2014/07/10 职场文书
企业消防安全责任书
2014/07/23 职场文书
普通党员对照检查材料
2014/08/28 职场文书
社区四风存在问题及整改措施
2014/10/26 职场文书
python如何利用cv2模块读取显示保存图片
2021/06/04 Python
Javascript之datagrid查询详解
2021/09/15 Javascript
Java完整实现记事本代码
2022/06/16 Java/Android