前言
这里是清安,前面我们封装了一些基础的方法,虽然不是很全,各位可以举一反三的写一些其他的方法。
❝本章我们主要是讲一下参数配置项以及文件路径管理。
❞
「先看一下目前我的文件层级,这里不建议直接照搬,我是在一个大的文件夹里面创建的一个小文件,所以,自己要注意区分好:」
目前我只有一个配置项还有一个启动项,截图中还有一个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文件,那是后面的内容了,咱们下章见。