Appium+python3 Android UI自动化测试安装及配置教程

一.python3安装

官网下载即可 python官网下载地址
安装务必记住安装目录,如果忘记在哪里安装的,可以在开始菜单中找到Python的文件夹,右键打开文件位置即可
在这里插入图片描述

二.Appium库的安装

进入到Python安装目录,找到名为Scripts的文件夹,进入文件夹,空白处shift+右键 选择“从此处打开命令窗口” ,输入:

pip install Appium-Python-Client

回车,等待安装完成即可

在这里插入图片描述

三.jdk8的安装

官网下载安装即可,JDK8官方下载地址
在这里插入图片描述

四.Android SDK安装

这里选择安装Android Studio 自带SDK免折腾 ,Android Studio官方下载地址

在这里插入图片描述
需要自带的模拟器可以进行勾选,之后我们会安装其他模拟器,可以不勾选
在这里插入图片描述
选择需要安装到的盘符,默认为C盘,这里改到了D盘
在这里插入图片描述之后一直下一步安装即可

SDK的安装,可能是我安过的原因没进入定制页面,所以这里从设置进入后,选择的Android SDK-点击Edit-进入编辑页面
在这里插入图片描述如果没安装默认勾选,然后Next等待安装完即可
在这里插入图片描述

记住SDK目录地址,之后会用到
在这里插入图片描述

五.Appium工具的安装

Appium下载地址.
在这里插入图片描述直接安装即可
在这里插入图片描述

安装完成后打开appium,host和port默认即可,点击编辑按钮

在这里插入图片描述
在这里插入图片描述填写好对应地址后,save and Restart ,

点击 启动服务器
在这里插入图片描述

六.模拟器的安装

这里选用夜神模拟器,夜神模拟器下载地址
下载安装即可

文件替换及配置

(1)打开模拟器的安装目录,进入到bin目录
(2)把第三节里安装好的Android SDK里的adb.exe文件,复制到该目录覆盖掉该目录已存在的adb.exe文件
在这里插入图片描述
(3)删掉该目录的nox_adb.exe文件,再复制一份adb.exe并重命名为nox_adb.exe
在这里插入图片描述
(4)启动模拟器
(5)在当前目录shift+右键,打开控制台,执行nox_adb.exe connect 127.0.0.1:62001,然后执行adb devices,提示以下信息证明操作成功
这里需要注意每次重启模拟器都需执行本步骤
在这里插入图片描述(6)装入测试用的apk

(7)继续在刚刚的控制台窗口里输入aapt dump badging apk的绝对路径(例如:C:\Users\Administrator\Desktop\20200628\XXXXXXXXX.apk),

记录下以下两个名称,与脚本中的
appPackageappActivity 相对应
在这里插入图片描述在这里插入图片描述

七.定位元素

详细的元素定位教程很多,这里就不再进行细写

在模拟器中打开需要定位元素的APP

在Android SDK目录下找到tools文件夹,进入后打开名为 uiautomatorviewer.bat的文件, 点击上方第二个图标获取屏幕元素

在这里插入图片描述
在这里插入图片描述
接下来只要选中需要操作的页面元素,右侧就会展示出你所需要的元素定位数据,需要注意的是切换页面的话需要重复之前的操作 再次对页面进行获取

八.编写脚本生成报告

1.创建测试用例目录testcase,在该目录下创建test_app.py文件

import time
import unittest

from appium import webdriver


class MyTests(unittest.TestCase):
    # 测试开始前执行的方法
    def setUp(self):
        desired_caps = {'platformName': 'Android', # 平台名称
                        'platformVersion': '5.1.1',  # 系统版本号
                        'deviceName': '127.0.0.1:62001',  # 设备名称。如果是真机,在'设置->关于手机->设备名称'里查看
                        'appPackage': 'com.kuaichengwuliu.driver',  # 之前记录下的 apk的包名
                        'appActivity': 'com.kuaichengwuliu.driver.guide.GuideActivity', # 之前记录下的 activity 名称 
                        "automationName": "UiAutomator1" # 这个很重要很重要Android 5是比较老的版本,使用的是 UIAutomator1,新安卓系统使用 UIAutomator2,可能新版本的 appium 默认使用了 2 吧。所以新版本的 appium 在使用时候在开启 inspector 的时候要多传一个参数automationName=UiAutomator1这样最终就可以正常开启!
                  }
        self.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)  # 连接Appium
        self.driver.implicitly_wait(8)

    def test_calculator(self):

        time.sleep(5)

        self.driver.find_element_by_id("com.kuaichengwuliu.driver:id/function_btn").click()  # 老板们自由发挥了
  

        time.sleep(5)

    # 测试结束后执行的方法
    def tearDown(self):
        self.driver.quit()


2.创建run.py文件

import os
import time
import unittest
from HTMLTestRunner import HTMLTestRunner

test_dir = './testcase'
discover = unittest.defaultTestLoader.discover(start_dir='./testcase', pattern="test*.py")

if __name__ == "__main__":
    report_dir = './test_report'
    os.makedirs(report_dir, exist_ok=True)
    now = time.strftime("%Y-%m-%d %H-%M-%S")
    report_name = '{0}/{1}.html'.format(report_dir, now)

    with open(report_name, 'wb')as f:
        runner = HTMLTestRunner(stream=f, title="测试报告", description="简单的一次测试")
        runner.run(discover)

3.生成测试报告,并打开
在这里插入图片描述

需要报告模板或其他资料的可以加QQ交流群:72598961 (个人交流群非培训群)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值