python+selenium使用笔记
前言
最近突发奇想,想要给手中项目比较稳定的模块编写一些自动化测试用例。将编写过程中碰到的问题记录一下,省的后边隔段时间忘记了,想起来哪些写哪些吧
一、配置文件格式
配置文件基本分为三个模块:section、key、value
代码如下:
[URL] # 填写section名称
# 填写key和value(之前将注释写在了value后边,结果读取的时候好像将注释当做了value的一部分)
url=www.baidu.com
[redis]
host=localhost
port=6379
db=0
二、读取配置文件
代码如下:
import configparser # 导入configparser模块,因为configparser是python提供用来处理配置文件的模块
import os # 导入os模块,因为读取配置文件时,需要知道配置文件的路径
class ReadConfig:
@staticmethod
def readconfig(section, key):
# 查询当前文件的所在目录的上级目录的路径
path = os.path.abspath("..")
# 从指定的路径下查找配置文件
filepath = os.path.join(path, "config.ini")
# 创建管理对象
conf = configparser.ConfigParser()
# 读取ini文件,指定编码方式
conf.read(filepath, encoding="utf-8")
# 根据传输的section名称及key的名称来获取value
url = conf.get(section, key)
return url
这段代码是网上查找资料时别人写的,稍微按照自己的理解修改了一些。后边使用过程中碰到了两个问题:
一是后边在其他文件内导入ReadConfig时,pycharm提示“Cannot find reference ‘ReadConfig’ in ‘init.py’” ,没有管它直接运行,运行结果:“cannot import name ‘ReadConfig’ from ‘test’(路径),好像是因为python3.3以后有一个虚拟环境venv(我的python是3.7.4的)。需要将这个ReadConfig文件放一份在它提示的路径下,然后就可以正常使用了。
二是调用readconfig()函数时,需要使用文件名.类名.方法名的办法,有点不习惯。
其他
python获取当前目录绝对路径:os.path.abspath()其中:
os.path.abspath(".")获取当前文件所在目录绝对路径;
os.path.abspath("..")获取当前文件所在目录的上一级目录绝对路径。