广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Appium+Python实现自动化登录
  • 950
分享到

Appium+Python实现自动化登录

AppiumPython 2023-01-31 06:01:08 950人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

#Appium+python实现自动化测试 Appium简介 官方的概述为: Appium is an open source test automation framework for use with native, hybrid

#Appium+python实现自动化测试

Appium简介

  • 官方的概述为:

    Appium is an open source test automation framework for use with native, 
    hybrid and mobile WEB apps. It drives iOS, Android, 
    and windows apps using the WebDriver protocol.
    

    Appium是一个开源测试自动化框架,用于本地、混合和移动Web应用程序。
    它使用WebDevices协议驱动iOS、Android和Windows应用程序。也就是可以用它来帮助我们实现自动化测试,代替人为的点击,每次发版都能够按照案例清单完整的跑一套流程,保证当前版本的稳定性。

  • 支持多种语言开发定制

    Python,javaSprict,java,ruby,Objective C,PHP,.net,RobotFramework
    其中Android SDK ≥ 16
  • 支持多平台

    Mac和Windows

Appium 安装方式

1:直接安装Appium客户端

Appium官网,点击downLoad即可

2:命令行本地安装

1:安装node
2:npm install -g appium
3:npm install -g appium-doctor
appium-doctor是检查你的本地环境是否正常的工具
注:如果权限问题请加上sudo,appium-doctor在新版appium已经移除,需要利用npm安装
sudo npm install -g appium-doctor,安装完成后输入appium-doctor检测环境是否正常
如果遇到缺少js文件错误,说明你的node版本太低,需要升级nodejs,升级的方式为
    1: sudo npm cache clean -f  清楚nodejs的cache
    2:sudo npm install -g n 管理npm的工具
    3:sudo n stable 升级node
    4: sudo npm install npm@latest -g 更新npm
    4:node -v查看node版本(最新为11.4.0)
再次运行appium-doctor查看本地环境配置是否正常,不正常修复即可

Appium+Python实现自动化登录

安装Python

安装方式网上很多,不在阐述,目前我用的是python3.7
推荐的ide为:PyCharm

编写自动化用例

  • 我们的这次用的apk为微信
  • 希望能够通过appium帮我们实现微信登录并跳转到我的->个人信息界面
from appium import webdriver
import time

class UiTest(object):

    def __init__(self):
        # 设备信息
        self.config = {
            "platfORMName": "Android",
            "platformVersion": "5.1.1",
            "deviceName": "Pixel XL",
            "automationName": "app",
            "app": '/Users/davidxiong/Desktop/wx.apk',
        }
        # 有多重模拟点击方式:
        # 1:坐标,
        # 2:id
        # 3:xpath
        # 4:name,这边我采用坐标和xpath,因为微信的元素id会动态改变

        # 手机号元素路径
        self.phone = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout[2]/android.widget.EditText'
        # 手机号点击登录元素路径
        self.phone_enter = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button[2]'
        # 密码路径
        self.pass_Word = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout[2]/android.widget.EditText'
        # 密码确认路径
        self.pass_word_enter = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.Button[2]'
        # 关闭匹配框
        self.close_match = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout[2]/android.widget.LinearLayout/android.widget.Button[1]'
        # 个人中心
        self.mine_info = '//android.widget.FrameLayout[@content-desc="当前所在页面,与的聊天"]/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[1]/android.widget.FrameLayout/android.widget.FrameLayout/com.tencent.mm.ui.mogic.WxViewPager/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ListView/android.widget.LinearLayout[1]/android.widget.RelativeLayout/android.widget.LinearLayout'
        self.driver = webdriver.Remote('Http://localhost:4723/wd/hub', self.config)

        # editText输入

    def edit_input(self, et_id, content, xpath='', timer=-1):
        if xpath == '':
            pl = self.driver.find_element_by_id(et_id)
        else:
            pl = self.driver.find_element_by_xpath(xpath)

        if timer != -1:
            time.sleep(timer)
        pl.send_keys(content)

        # 点击事件

    def click(self, btn_id, xpath='', timer=-1):
        if timer != -1:
            time.sleep(timer)
        if xpath == '':
            self.driver.find_element_by_id(btn_id).click()
        else:
            self.driver.find_element_by_xpath(xpath).click()

    def run(self):
        time.sleep(2)
        # 点击登录
        self.driver.tap([(259, 1773)])
        # 输入手机号
        self.edit_input('ht', '你的账号', xpath=self.phone, timer=1)
        # 点击下一步,这边采用xpath
        self.click('akb', xpath=self.phone_enter)
        # 输入密码
        time.sleep(2)
        self.edit_input('ht', '密码', xpath=self.pass_word, timer=1)
        # 登录R
        self.click('akb', xpath=self.pass_word_enter)
        time.sleep(8)
        # 关闭提示匹配通讯录弹出框
        self.click('akb', xpath=self.close_match)
        # 等地同步数据
        time.sleep(30)
        # 点击我的,这边采用坐标
        self.driver.tap([(933, 1823)])
        # 查看我的个人信息
        self.click('akb', xpath=self.mine_info)

if __name__ == "__main__":
        UiTest().run()

--结束END--

本文标题: Appium+Python实现自动化登录

本文链接: https://www.lsjlt.com/news/189591.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Appium+Python实现自动化登录
    #Appium+Python实现自动化测试 Appium简介 官方的概述为: Appium is an open source test automation framework for use with native, hybrid...
    99+
    2023-01-31
    Appium Python
  • 【python+appium】自动化测试
    python+appium自动化测试系列就要告一段落了,本篇博客咱们做个小结。 首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师、高级测试工程师岗位招聘信息上要求的,所以为了更好的待遇,我们还是需要花时间去掌...
    99+
    2023-08-31
    python appium 开发语言 postman jmeter
  • Python+Appium自动化测试的实战
    目录一、环境准备二、真机测试一、环境准备 脚本语言:Python3.x IDE:安装Pycharm 安装Java JDK 、Android SDK adb环境,path添加E:\Software\Android_SD...
    99+
    2022-06-02
    Python Appium自动化测试 Python 自动化测试
  • 如何使用python+appium实现自动化测试
    这篇文章主要为大家展示了“如何使用python+appium实现自动化测试”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用python+appium实现自动化测试”这篇文章吧。1.什么是A...
    99+
    2023-06-22
  • python+appium实现自动化测试的示例代码
    目录1.什么是Appium2.启动一个app自动化程序的步骤3.appium服务介绍4. appium客户端使用5.adb的使用 6.Appium启动过程分析1....
    99+
    2022-11-12
  • Python自动化测试之登录脚本的实现
    目录环境准备1、安装selenium模块2、安装浏览器驱动器代码1、登录代码2、xpath定位元素标签环境准备 前提已经安装好python、pycharm,配置了对应的环境变量。 1...
    99+
    2023-02-23
    Python自动化登录 Python自动化测试登录
  • python+opencv+selenium如何实现自动化登录邮箱
    这篇文章主要为大家展示了“python+opencv+selenium如何实现自动化登录邮箱”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python+opencv+selenium如何实现自动...
    99+
    2023-06-20
  • Python+Appium实现自动抢微信红包
    目录环境准备实现思路code环境准备 appium环境 安卓手机 usb数据线 python环境 实现思路 我们收到红包和消息都是自动置顶到第一个,于是我们打开第一个判断是否有红...
    99+
    2022-06-02
    Python 抢微信红包 Python+Appium 抢红包
  • python接口自动化-token登录
    前言有些登录不是用cookie来验证的,是用token参数来判断是否登录。token传参有两种一种是放在请求头里,本质上是跟cookie是一样的,只是换个单词而已;另外一种是在url请求参数里,这种更直观。 一、登录返回token1.如下图...
    99+
    2023-01-31
    接口 python token
  • Appium+Python自动化环境搭建实例教程
    目录前言环境准备jdk安装android-sdk下载安装android-sdk环境变量adb环境连接手机前言 appium可以说是做app最火的一个自动化框架,它的主要优势是支持an...
    99+
    2022-11-12
  • Appium+Python+pytest自动化测试框架的实战
    菜鸟一枚,写的不好勿喷,大家一起学习 先简单介绍一下目录,再贴一些代码,代码里有注释 Basic目录下写的是一些公共的方法,Data目录下写的是测试数据,image存的是测试失败...
    99+
    2022-11-12
  • Python自动化测试之登录脚本如何实现
    今天小编给大家分享一下Python自动化测试之登录脚本如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。环境准备前提已经...
    99+
    2023-07-05
  • python和Appium移动端多设备自动化测试框架实现
    目录前言:一、流程图二、appium服务三、连接测试设备四、元素封装五、运行前言: 本篇文章主要介绍基于pytest和Appium框架,支持Android和iOS功能自动化的测试框架...
    99+
    2022-11-10
  • 怎么用Python+Appium做自动化测试
    这篇文章主要讲解了“怎么用Python+Appium做自动化测试”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python+Appium做自动化测试”吧!目录一、环境准备二、真机测试一...
    99+
    2023-06-20
  • Python之Appium 2自动化测试(Android篇)
    一、环境搭建及准备工作 Appium 2 环境搭建 请参考另一篇文章: Windows系统搭建Appium 2 和 Appium Inspector 环境 安装 Appium-Python-Client,版本要求3.0及以上 和 Selen...
    99+
    2023-12-23
    python appium android
  • Appium自动化测试实现九宫格解锁
    目录背景高级手势轻敲(tap)短按 (press)长按 (long_press)等待 (wait)移动到 (moveTo)释放 (release)执行 (perform)九宫格解锁背...
    99+
    2022-11-13
  • python+pytest接口自动化之token关联登录的实现
    目录一. 什么是token二. token场景处理这里介绍如下两种处理思路。1. 思路一2. 思路二三. 总结在PC端登录公司的后台管理系统或在手机上登录某个APP时,经常会发现登录...
    99+
    2022-11-10
  • java web实现自动登录
    本文实例为大家分享了java web实现自动登录的具体代码,供大家参考,具体内容如下 实现思路 1、在登录的 api 或 servlet中验证用户名密码 2、如果验证成功,则把该用户...
    99+
    2022-11-12
  • Python脚本实现自动登录校园网
    Python自动化脚本登录校园网 所需工具:python编译环境(博主使用的pycharm作演示,其实在cmd也可以操作!) selenium自动化脚本 .bat批处理文件 第一步...
    99+
    2022-11-12
  • Python与Appium实现手机APP自动化测试的示例代码
    目录1.什么是Appium2.启动一个app自动化程序的步骤3.appium服务介绍4. appium客户端使用5.adb的使用6.Appium启动过程分析1.什么是Appium a...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作