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

前言

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

获取控件相关信息

启动uiautomatorviewer.bat

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

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

登录脚本实现

# 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自动化登录测试内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2021-01-25

python+appium+yaml移动端自动化测试框架实现详解

结构介绍 之前分享过一篇安卓UI测试,但是没有实现数据与代码分离,后期维护成本较高,所以最近抽空优化了一下. 不想看文章得可以直接去Github,欢迎拍砖 大致结构如下: testyaml管理用例,实现数据与代码分离,一个模块一个文件夹 public 存放公共文件,如读取配置文件.启动appium服务.读取Yaml文件.定义日志格式等 page 存放最小测试用例集,一个模块一个文件夹 results 存放测试报告及失败截图 logs 存放日志 testcase 存放测试用例runtest.py

Appium+Python自动化测试之运行App程序示例

在上一篇博客中,已经将环境搭建好了.现在,我们利用搭建的环境来运行一条测试脚本,脚本中启动一个计算器的应用,并实现加法的运算. 创建模拟器 在运行App之前,首先需要创建一个Android模拟器,也可以使用真机来运行,效果更佳. 进到Android SDK的目录,双击运行AVD Manager.exe 点击Create创建一个Android模拟器 输入一个模拟器名称,选择设备类型和API版本,点击进行创建.创建完成后会显示当前所有的设备,选择设备,点击Start启动 第一次启动的时候会有点慢,要

Appium+python自动化之连接模拟器并启动淘宝APP(超详解)

简介 上一篇讲解完模拟器的安装.配置好以后,就好比我们手机已经买好,并且系统已经做好了,就差我们用数据线和电脑连接开始实战了,这篇宏哥就带着小伙伴们和童鞋们趁热打铁,讲解和分享一下如何连接模拟器(电脑版的虚拟手机),然后再安装一款APP-淘宝为例. 一.appium+pycharm+连接夜神模拟器并启动淘宝APP(推荐) 1.首先打开pycharm并写好代码,这里以淘宝APK作为测试Demo,淘宝APK我是放在电脑桌面(或者放置同代码同个目录下).如下图所示 其中|:driver = webdr

appium+python自动化配置(adk、jdk、node.js)

1.环境配置 1.1node.js https://nodejs.org/zh-cn/ 安装提示下载安装 命令行下输入 node -v 查看是否安装成功,如图所示,则安装成功 1.2sdk 1.2.1安装sdk 下载地址: www.androiddevtools.cn/ 一路点下去,最后点finish. 完成后会自动弹出以下页面 如果没弹出上边的页面,则找到安装路径,打开下图所示的文件,即可弹出上边的页面 勾选图示的文件 安装,接受协议(Accept License). 1.2.2配置环境变量

Python脚本在Appium库上对移动应用实现自动化测试

采用Appium进行自动化的功能性测试最酷的一点是,你可以使用具有最适合你的测试工具的任何一门语言来写你的测试代码.大家选择最多的一个测试编程语言就是Python. 使用Appium和Python为iOS和Android应用编写测试代码非常容易. 在这篇博文中我们将详细讲解使用Appium下的Python编写的测试的例子代码对一个iOS的样例应用进行测试所涉及的各个步骤,而对Android应用进行测试所需的步骤与此非常类似. 开始,先自https://github.com/appium/appi

Python+Appium实现自动化测试的使用步骤

一.环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK .Android SDK 3.adb环境,path添加E:\Software\Android_SDK\platform-tools 4.安装Appium for windows,官网地址http://appium.io/ 点击下载按钮会到GitHub的下载页面,选择对应平台下载 安装完成后,启动Appium,host和port默认的即可,然后设置Android SDk和Java JDK 然后点下

详解基于Android的Appium+Python自动化脚本编写

1.Appium Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试, 它使用WebDriver协议驱动iOS,Android和Windows应用程序. 通过Appium,我们可以模拟点击和屏幕的滑动,可以获取元素的id和classname,还可以根据操作生成相关的脚本代码. 下面开始Appium的配置. appPackage和APPActivity的获取 任意下载一个app 解压 但是解压出来的xml文件可能是乱码,所以我们需要反编译文件. 逆向AndroidMan

Appium+python自动化怎么查看程序所占端口号和IP

简介 这篇博文和分类看似没有多大关系,但是也是从上一篇衍生出来的产物,因为涉及到 FQ工具 Lantern ,就算是给关注和支持的小伙伴们拓展一下眼界和知识面.而且好多人都阅读了上一篇没发现那个参考博客点不开吗?那是因为还没来的急,整理和编写,今天再试一下就可以. 一个软件可能占用多个端口拥有多个目标IP,下面以FQ工具 Lantern 为例,说明端口查看方法: 1.借助第三方软件查看 如果你电脑上安装了360等优化工具,可能会自带查看网络状况的插件如下图: 2.命令行窗口查看 在命令行窗口查看

Python+appium框架原生代码实现App自动化测试详解

step1:首先介绍下python+appium的框架结构,如下截图所示 (1):apk目录主要放置待测app的apk资源: (2):config目录主要放置配置文件信息,包含:数据库连接配置.UI自动化脚本中所需的页面元素信息及app启动信息.自动化报告邮件发送配置信息.接口请求的对应的url信息等[大家可根据待测app的功能添加或减少配置文件信息]. (3):report目录主要放置测试完成后生成的测试报告信息: (4):src目录下包含的目录如下 common目录:app启动方法的封装文件

Appium Python自动化测试之环境搭建的步骤

Appium简介 Appium是一个自动化测试开源工具,支持IOS和Android平台上的移动原生应用.移动Web应用和混合应用.所谓的"移动原生应用"是指那些用IOS或者Android SDK写的应用:所谓的"移动Web应用"是指使用移动浏览器方位的应用(Appium支持IOS上的Safari和Android上的Chrome):所谓的"混合应用"是指原生代码封装网页视图(原生代码和Web内容交互).更重要的是,Appium是一个跨平台的工具,它

selenium+python自动化测试之环境搭建

最近由于公司有一个向谷歌网站上传文件的需求,需要进行web的自动化测试,选择了selenium这个自动化测试框架,以前没有接触过这门技术,所以研究了一下,使用python来实现自动化脚本,从环境搭建到实现脚本运行. selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等.支持自动录制动作和自动

Python+Selenium实现自动化的环境搭建的步骤(图文)

1.在浏览器下载与浏览器相对于的驱动并放到python的安装根目录下 驱动的两个下载地址: http://chromedriver.storage.googleapis.com/index.html http://npm.taobao.org/mirrors/chromedriver/ a.先找到浏览器的版本 b.找到与浏览器对应的驱动 c.把下载好的驱动放到python安装目录的根目录下 2.点击设置 3.添加selenium 4.搜索selenium并添加 5.输入以下代码并运行,如果能打开

从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)

VScode不愧是用户数量上升最快的编辑器,界面华丽(当然,需要配合各种主题插件),十分容易上手且功能强大.之前用它写C++体验十分nice,现在需要学习tensorflow,而工欲善其事必先利其器,搭建一个舒服的开发环境是非常重要的第一步. 目标:在linux下从无到有,安装anaconde3, tensorflow, 配置vs code,直到可以运行一个tensorflow版hello world(实为mnist手写数据分类).尽管有其他的安装tensorflow的方式,但使用anacond

Vue2.0 从零开始_环境搭建操作步骤

简要:继项目空闲后,开始着手vue的学习;为此向大家分享其中的艰辛和搭建办法,希望能够跟各位VUE大神学习探索,如果有不对或者好的建议告知下:*~*! 一.什么是VUE? 是一种node.js框架,特点如下: 1.数据绑定 (特性:双向绑定:一旦发生变化,Dom节点实时更新:PS:尽量抛弃JQ,次特点已经可以解决很多特效等问题) 2.组件化(比如:乐高积木一样通过互相引用而组装起来) 二.开发环境 三.环境搭建 1. 包管理器安装 (1) Homebrew安装 (mac 环境,win无法安装)

python自动化测试之从命令行运行测试用例with verbosity

本文实例讲述了python自动化测试之从命令行运行测试用例with verbosity,分享给大家供大家参考.具体如下: 实例文件recipe3.py如下: class RomanNumeralConverter(object): def __init__(self, roman_numeral): self.roman_numeral = roman_numeral self.digit_map = {"M":1000, "D":500, "C"

python自动化测试之连接几组测试包实例

本文实例讲述了python自动化测试之连接几组测试包的方法,分享给大家供大家参考.具体方法如下: 具体代码如下: class RomanNumeralConverter(object): def __init__(self): self.digit_map = {"M":1000, "D":500, "C":100, "L":50, "X":10, "V":5, "I"

hibernate框架环境搭建具体步骤(介绍)

一. 概述:hibernate框架是作用于dao层的,实现对数据的持久化保存.通过面向对象的方式操作数据库. 二. hibernate框架的搭建 1.导包 lib目录下的required文件夹下的所有jar包. mysql驱动包. 2.创建数据库于表. 3.创建实体类. 4.创建实体映射文件(以crm练习Customer类为例) 实体类名.hbm.xml 引入约束文件 <?xml version="1.0" encoding="UTF-8"?> <