老板叫我写个APP自动化--参数配置--代码详解篇

简介: 老板叫我写个APP自动化--参数配置--代码详解篇

前言

这里是清安,前面我们封装了一些基础的方法,虽然不是很全,各位可以举一反三的写一些其他的方法。

本章我们主要是讲一下参数配置项以及文件路径管理。

「先看一下目前我的文件层级,这里不建议直接照搬,我是在一个大的文件夹里面创建的一个小文件,所以,自己要注意区分好:」

目前我只有一个配置项还有一个启动项,截图中还有一个case文件,这个不用管,下一章会讲。base.py就是前面我们写的基类(方法类),里面写了点击输入的方法。untils中的run.py,运行此文件,就能使代码跑起来。configs中startconfig.ini就是启动参数的配置项了:

startconfig.ini

[devicename]
name = emulator-5554
platform = Android
Package = com.mxchip.project352
Activity = com.mxchip.project352.activity.login.LoginActivity
Version = 7.1.2
Reset = True

看着是不是很眼熟,就是模拟器的配置参数。我将它写在了.ini后缀的文件中了。在后续中你也可以持续增加使用。那么readconfig.py就很明显了,用来读取startconfig.ini中的参数的。此外还做了一项工作,也就是读取某些文件,便于调用。起到一个管理的作用。看代码!

readconfig.py

# ----清安—---
# 微信:qing_an_an
# 公众号:测个der
import os
import configparser
class Config:
    ''' 项目下所有文件的相对路径'''
    Base_Path = os.path.abspath(os.path.dirname(os.path.abspath(__file__)) + '/..')
    Base_config = Base_Path + r'\configs\starttxt.ini'
re = Config()
def readini(servername, urlpath):
    """
    :return:读取startconfig.ini中的配置
    """
    conf = configparser.ConfigParser()
    conf.read(re.Base_config)
    read_value = conf.get(servername, urlpath)
    return read_value

这里面写了读取startconfig.ini的函数,也写了一个类,Config类,写法可以照搬照抄,至于什么意思,参照一下python0-1系列的文件目录处理。configparser是用来读取ini文件的,conf这里是实例化,随后便conf.read读取了路径,read_value是获取值。获取什么值呢,我们配置文件中的值。

run文件

# ----清安—---
# 微信:qing_an_an
# 公众号:测个der
from appium_.case_test import San
from appium_.configs.readconfig import readini
desired_capas = {
    "deviceName": readini('devicename', 'name'),
    "platformName": readini('devicename', 'platform'),
    "appPackage": readini('devicename', 'Package'),
    "appActivity": readini('devicename', 'Activity'),
    "platformVersion": readini('devicename', 'Version'),
    "noReset": readini('devicename', 'Reset')
}
i = San(desired_capas)

上面我们说了conf.get(servername, urlpath)需要传入两个值,那么我们就在这传入。实际上,此处传入的值是我们所需要获取的值。

servername我们传入的是devicename,也就是告诉它,我需要获取到devicename下面的值,那么devicename下面的哪个值呢?urlpath来接收,我们需要获取的是name还是paltform亦或者其他,直接以字符串形式传入即可。

「注意:此处的执行文件入口我已经挪移出来了,也就是if __ name__ == '__ main __'已经剔除了,在run.py中用的文件类调用的方式执行了。」

最后,图中我们还写了一个readyaml文件,那是后面的内容了,咱们下章见。

目录
相关文章
|
5天前
|
测试技术 UED Python
App自动化测试:高级控件交互技巧
Appium 的 Actions 类支持在移动应用自动化测试中模拟用户手势,如滑动、长按等,增强交互性测试。ActionChains 是 Selenium 的概念,用于网页交互,而 Actions 专注于移动端。在Python中,通过ActionChains和W3C Actions可以定义手势路径,例如在手势解锁场景中,先点击设置,然后定义触点移动路径执行滑动解锁,最后验证解锁后的元素状态。此功能对于确保应用在复杂交互下的稳定性至关重要。
40 5
|
5天前
|
敏捷开发
【sgCreateTableColumn】自定义小工具:敏捷开发→自动化生成表格列html代码(表格列生成工具)[基于el-table-column]
【sgCreateTableColumn】自定义小工具:敏捷开发→自动化生成表格列html代码(表格列生成工具)[基于el-table-column]
|
5天前
|
小程序 Android开发 iOS开发
uni-app 安装与配置
uni-app 安装与配置
12 1
|
23小时前
|
Web App开发 JSON 小程序
苹果app开发apple-app-site-association文件配置
apple-app-site-association 是苹果的配置文件,用于建立app和网站关联,支持Universal Links,使点击网站链接能直接打开相应app内部页面。配置文件为JSON格式,需上传至服务器`.well-known`目录或根目录。通过检查三个链接来测试配置,确保Content-Type为`application/json`。成功配置后,点击链接能在iPhone备忘录或Safari中直接唤起app,但可能有24-48小时延迟。
17 6
|
5天前
|
运维 关系型数据库 MySQL
Ansible自动化运维工具主机清单配置
Ansible自动化运维工具主机清单配置
|
5天前
|
Web App开发 JSON 数据格式
一键自动化博客发布工具,chrome和firfox详细配置
blog-auto-publishing-tools博客自动发布工具现在已经可以同时支持chrome和firefox了.
一键自动化博客发布工具,chrome和firfox详细配置
|
5天前
|
弹性计算 运维 Shell
|
5天前
|
弹性计算 运维 监控
|
5天前
|
弹性计算 Shell 开发工具
自动化代码质量检查
【4月更文挑战第30天】
9 0
|
5天前
|
弹性计算 运维 Shell
自动化安装并配置自定义服务
【4月更文挑战第30天】
8 0

热门文章

最新文章