Python3 Appium自动化测试入门

概述:主要是做App客户端相关自动化操作。实现自动化用例,通过pytest和allure框架完成自动化测试并输出测试报告。在客户端较稳定的情况下,可多次重复实现自动化回归。

一、环境搭建

操作系统:Mac 11.5.2

1、Pycharm //官网下载

2、Anaconda(Python3.8)//python --version

3、brew //brew --version

4、Android-sdk //adb --version

5、Appium //官网下载

6、Xcode //App store下载

其他包:

pip install Appium-Python-Client

pip install selenium

pip install -U pytest

pip install allure-pytest

brew install allure


pytest执行全部用例:

py.test test/ --alluredir ./result/

pytest执行部分用例:

py.test test/ --allure_features='购物车功能' --allure_stories='加入购物车'

allure生成报告:

allure generate ./result/ -o ./report/ --clean

二、构建Appium自动化服务器

概述:Appium原理类似Selenium,通过Appium服务器,以代码驱动去操作客户端软件

1、进入Appium

2、port:4723是安卓服务器,点击start Server

Python3 Appium自动化测试入门_第1张图片

3、点击右上角放大镜(Start Inspector Session)

Python3 Appium自动化测试入门_第2张图片

4、添加Desired Capabilities的参数,可参考:

{
  "platformName": "Android",	//平台
  "deviceName": "nova 5",	//设备名
  "appPackage": "com.xxx.xxx",	//要自动化的App包名
  "appActivity": "ui.activity.SplashActivity",	//框架,可不修改
  "noReset": true,
  "unicodeKeyboard": false,	//是否使用unicode打字法
  "resetKeyboard": true	//是否重制打字法
}

5、点击右下角save

6、连接手机至电脑,点击Start Session,在手机安卓Appium和Android-sdk插件。

三、编写自动化脚本

Start session后,连接成功的话,Appium会需要在手机上安装2个自动化测试相关软件。

Python3 Appium自动化测试入门_第3张图片 

Appium服务器会显示成这样。

Python3 Appium自动化测试入门_第4张图片 手机点击某一个app时,点击右上角刷新,Select Elements选择元素,右边Selector可获取元素的抓取方式,可通过xpath或id获取。

Python3 Appium自动化测试入门_第5张图片

获取到元素ID或者Xpath路径,就可以开始编写Python自动化测试代码了。

我使用的是Pytest+Allure+Appium框架。

例如:

import allure
import pytest
from appium import webdriver

desired_caps = {
  'platformName': 'Android', # 被测手机是安卓
  'platformVersion': '10', # 手机安卓版本
  'deviceName': 'JPFDU19425xxxx', # 设备名,安卓手机可以随意填写
  'appPackage': 'com.xxx.xxxx', # 启动APP Package名称
  'appActivity': '.ui.activity.SplashActivity', # 启动Activity名称
  # 'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True
  'resetKeyboard': True, # 执行完程序恢复原来输入法
  'noReset': True,    
  'newCommandTimeout': 6000,
  'automationName' : 'UiAutomator2'
  # 'app': r'd:\apk\bili.apk',
}

class TestGloweAuton(object):
  def setup_method(self):	//用例初始化加载的方法
    self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)//获取driver
    print('用例开始执行')
  def teardown_method(self):	//用例结束时加载的方法
    print('用例执行完毕')
	
  def test_xxxx(self):	//测试用例,以test为开头
    driver = self.driver
    driver.find_element_by_id("com.xxx.xxx").click()//通过id获取元素
    driver.implicitly_wait(5)	//隐式等待获取新的元素

四、测试报告

pycharm点击下面terminal

Python3 Appium自动化测试入门_第6张图片

pytest执行全部用例命令:

py.test test/ --alluredir ./result/

allure生成报告:

allure generate ./result/ -o ./report/ --clean

通过chrome打开index.html,观察测试报告结果

Python3 Appium自动化测试入门_第7张图片

你可能感兴趣的:(python,selenium)