51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1772|回复: 0
打印 上一主题 下一主题

Appium & Python自动化测试

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-1-6 17:46:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Appium & Python自动化测试
参考: https://blog.csdn.net/qq_16206535/article/details/79586818

目录
一、Appium安装

1、安装JDK(1.8.0)并配置环境

2、安装Andorid

3、安装appium

4、安装python和pycharm

二、Appium Desktop使用

1、开启Appium

2、Appium Session

3、开启Appium Server

4、生成脚本

5、appium工作原理

6、python脚本



一、Appium安装
1、安装JDK(1.8.0)并配置环境


1、JDK文件下载安装

    下载JDK文件,点击运行安装

2、配置环境

     (1)新建一个名为“JAVA_HOME”的环境变量,变量值为JDK的安装路径

     (2)选择Path,点击下方的“编辑”按钮,在弹出的窗口中添加如下信息:

          %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

     (3)新建一个名为“classpath”的环境变量,变量值为:

          %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

3、在CMD窗口输入java -version进行验证,若出现JDK版本号则证明安装成功











2.安装Andorid
2.1、安装Andorid SDK(建议使用29版本)



1、下载Andorid SDK文件,点击进行安装(默认安装到C盘)

2、安装完SDK之后,双击Andorid SDK Manager,在Andorid SDK Manager中安装相关工具

3、选择所需要的tools(默认图中前三个),点击红框中的按钮进行安装(这个安装过程时间较长)

注:链接文件中有已经下载好的sdk,直接解压就可以配置系统环境了,截图为在Andorid SDK Manager安装相关工具操作





2.2、安装Andorid Studio

1.下载Andorid Studio,安装,并新建一个项目,下载相关软件。(包括adb)



2.把apksigner.jar从C:\Users\Administrator\AppData\Local\Android\android-sdk\build-tools\32.0.0\lib

拷贝到:C:\Users\Administrator\AppData\Local\Android\android-sdk\platform-tools



3.环境配置

   (1)新建ANDROID_HOME变量,变量值为Andorid SDK的路径

   (2)Path变量中设置参数值为:

      %ANDROID_HOME%\platform-tools

      %ANDROID_HOME%\tools

      (若在一行则两个值中间有分号,不在一行则没有分号)

4.在CMD中输入adb命令,出现版本号则说明安装成功





点击图片可在新窗口打开

3、安装appium


1、下载appium-desktop文件,点击进行安装

2、配置相关环境变量

4、安装python和pycharm


1、先安装python-3.9.0(32位和64位按照自己电脑配置进行选择)

2、再安装pycharm



点击图片可在新窗口打开

二、Appium-Desktop使用
1、开启Appium


1、安装完毕之后,点击桌面图标进行运行

2、Simple为基础设置、Advanced为高级设置、Presets为预设(用于保存在Advance中设置的参数)   

   一般保持默认值(host和port保持默认值)

3、点击Start Server v1.18.0开启Appium

2、Appium Session


点击图片可在新窗口打开

3、开启Appium Server


点击图片可在新窗口打开

4、生成脚本
  可在左侧app页面使用选择工具选择相应元素,在使用Select Element内的工具生成脚本



点击图片可在新窗口打开



5、appium工作原理


-使用python client发送http(专业指“Json Wire Protocol”)指令到appium,appium



通过adb桥梁发送到Uiautomator2(这里以android为例子)最终在android端执行。









点击图片可在新窗口打开

5.1、安装依赖库



pip install Appium-Python-Client



用Python语言编写appium自动化测试脚本的客户端工具。

6、python脚本


6.1登录及退出登录操作

from appium import webdriver

  import time

##创建一个字典,用于存储设备和应用信息

  desired_caps={

#连接的设备信息

  "platformName": "Android",

  "deviceName": "E6EDU20526024947",

##进行会话的apk信息,包名和Activity名

  "appPackage": "xxxxx",   

  "appActivity": "xxxxxxx",

##一些参数设置

  "unicodeKeyBoard": True

                                }

#与appium session之间建立联系,括号内为appium服务地址

   driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)





#一些基于app的操作(包括但不限于点击、输入等,与monkeyDriver所使用的命令相同,都是基于python语言的)

#下面的一些操作是用Appium录制的脚本,appium录制的脚本一般使用byid方法来定位元素

   driver.find_element_by_id("cn.phzdp:id/tv_i_know").click()

   driver.find_element_by_id("cn.phzdp:id/tv_change_login_type").click()

   driver.find_element_by_id("cn.phzdp:id/et_input_phone").send_keys("15837320000")

   driver.find_element_by_id("cn.phzdp:id/et_input_pwd").send_keys("qqqq2222")

   driver.find_element_by_id("cn.phzdp:id/tv_login").click()

   driver.find_element_by_id("com.android.permissioncontroller:id/permission_allow_button").click()

   driver.find_element_by_id("com.android.permissioncontroller:id/permission_allow_button").click()

   driver.find_element_by_id("com.android.permissioncontroller:id/permission_allow_button").click()
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-9 00:53 , Processed in 0.069675 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表