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

目录
相关文章
|
1月前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
52 3
|
1月前
|
移动开发 开发框架 小程序
uni-app:demo&媒体文件&配置全局的变量(三)
uni-app 是一个使用 Vue.js 构建多平台应用的框架,支持微信小程序、支付宝小程序、H5 和 App 等平台。本文档介绍了 uni-app 的基本用法,包括登录示例、媒体文件处理、全局变量配置和 Vuex 状态管理的实现。通过这些示例,开发者可以快速上手并高效开发多平台应用。
|
11天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
46 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
1月前
|
UED
|
10天前
|
JavaScript C++ 容器
【Azure Bot Service】部署NodeJS ChatBot代码到App Service中无法自动启动
2024-11-12T12:22:40.366223350Z Error: Cannot find module 'dotenv' 2024-11-12T12:40:12.538120729Z Error: Cannot find module 'restify' 2024-11-12T12:48:13.348529900Z Error: Cannot find module 'lodash'
34 11
|
24天前
|
机器人 Shell Linux
【Azure Bot Service】部署Python ChatBot代码到App Service中
本文介绍了使用Python编写的ChatBot在部署到Azure App Service时遇到的问题及解决方案。主要问题是应用启动失败,错误信息为“Failed to find attribute 'app' in 'app'”。解决步骤包括:1) 修改`app.py`文件,添加`init_func`函数;2) 配置`config.py`,添加与Azure Bot Service认证相关的配置项;3) 设置App Service的启动命令为`python3 -m aiohttp.web -H 0.0.0.0 -P 8000 app:init_func`。
|
1月前
|
Linux 应用服务中间件 Shell
利用 ACME 实现SSL证书自动化配置更新
【10月更文挑战第11天】多项式承诺原理是密码学中的重要工具,允许证明者向验证者承诺一个多项式并证明其某些性质。Kate多项式承诺是一种知名方案,基于有限域上的多项式表示,通过生成和验证简洁的证明来确保多项式的正确性和隐私。其安全性基于离散对数假设。应用场景包括区块链中的零知识证明和可验证计算,以及多方计算和身份认证协议。在区块链中,Kate多项式承诺可用于保护隐私币和智能合约中的敏感信息。
|
2月前
|
测试技术
基于LangChain手工测试用例转App自动化测试生成工具
在传统App自动化测试中,测试工程师需手动将功能测试用例转化为自动化用例。市面上多数产品通过录制操作生成测试用例,但可维护性差。本文探讨了利用大模型直接生成自动化测试用例的可能性,介绍了如何使用LangChain将功能测试用例转换为App自动化测试用例,大幅节省人力与资源。通过封装App底层工具并与大模型结合,记录执行步骤并生成自动化测试代码,最终实现高效自动化的测试流程。
|
2月前
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub的解决之法
An exception occurred while retrieving properties for Event Hub: logicapp. Error Message: 'ClientSecretCredential authentication failed: AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found. Check to make sure you have the correct tenant ID and are signing into the correct cloud. Che

热门文章

最新文章