老板叫我写个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文件,那是后面的内容了,咱们下章见。

目录
相关文章
|
2天前
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
|
3月前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
95 3
|
6天前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
7天前
|
Dart 前端开发 架构师
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
|
3月前
|
移动开发 开发框架 小程序
uni-app:demo&媒体文件&配置全局的变量(三)
uni-app 是一个使用 Vue.js 构建多平台应用的框架,支持微信小程序、支付宝小程序、H5 和 App 等平台。本文档介绍了 uni-app 的基本用法,包括登录示例、媒体文件处理、全局变量配置和 Vuex 状态管理的实现。通过这些示例,开发者可以快速上手并高效开发多平台应用。
114 0
|
2月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
149 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
3月前
|
UED
|
2月前
|
监控 安全 测试技术
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性
在自动化和持续集成中,确保代码安全与合规至关重要。措施包括集成自动化安全工具、执行自动化合规检查、进行代码质量与安全检测、评估开源代码安全、实施基础设施即代码的安全标准、采用多层防御策略、加强安全教育与文化建设、使用合规性检测工具及许可证合规分析等,共同提升代码安全性与合规水平。
|
2月前
|
监控 安全 测试技术
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性?
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性?

热门文章

最新文章