Misty rain
python ui自动化框架 2:统一配置文件,读取配置文件,统一打开浏览器方法
本节讲解:统一项目的配置文件,方便统一修改,然后读取配置文件
新建项目
使用PyCharm新建一个普通项目:uitest(项目名称)
新建config目录,然后新建config.ini文件
# 配置测试要使用的浏览器和要测试的网站url
[browserType]
#browserName = Firefox
browserName = Chrome
#browserName = IE
[testServer]
URL = https://www.baidu.com/
配置公共类
1、新建commont目录
2、将“公共类”(3)个复制到commont目录:gettime.py(时间) getfileposition.py(文件) getlog.py(日志)
3、新建log目录(用来存放log日志)
读取config
1、在commont目录下新建browser_engine.py(浏览器统一配置文件),读取browser和url
config = configparser.ConfigParser()
file_path = file.getrootpath() + '/config/config.ini'
config.read(file_path)
# config.read(file_path,encoding='UTF-8'), 如果代码有中文注释,用这个,不然报解码错误
browser = config.get("browserType", "browserName")
url = config.get("testServer", "URL")
2、在browser_engine.py中新建open_browser来完成打开浏览器操作
"""
@Author:Misty rain(ZhangHao)
@E-mail:676817831@qq.com
@FileName:browser_engine.py
@Software:PyCharm
@Desc:
"""
import configparser
from selenium import webdriver
import commont.getfileposition as file
import commont.getlog as log
logger = log.logger
def open_browser(driver, text):
config = configparser.ConfigParser()
file_path = file.getrootpath() + '/config/config.ini'
config.read(file_path)
# config.read(file_path,encoding='UTF-8'), 如果代码有中文注释,用这个,不然报解码错误
browser = config.get("browserType", "browserName")
url = config.get("testServer", "URL")
logger.info("您测试需要的URL: %s" % url)
logger.info("您测试需要的模块:" + text)
if browser == "Firefox":
driver = webdriver.Firefox()
logger.info("您测试需要的浏览器:Firefox")
elif browser == "Chrome":
driver = webdriver.Chrome()
logger.info("您测试需要的浏览器:Chrome")
elif browser == "IE":
driver = webdriver.Ie()
logger.info("您测试需要的浏览器:IE")
driver.get(url)
driver.maximize_window()
logger.info("浏览器窗口最大化")
driver.implicitly_wait(10)
logger.info("10秒")
return driver
该方法集成了log和file文件位置的公共方法。
调用open_browser传入当前类、要测试的模块text 来打开浏览器
调用quit_browser来关闭浏览器。
1
1
1
1
1
1Ft89Pk92O
%0abcc:009247.351-135830.351.e1d9e.19110.2@bxss.me
1
1
MqPdRDwW
1*1
1*1
1
1
1'"()&%
WGOT(9611)1'"()&%
VtBW(9434)1'"()&%
1xRk(9512)1'"()&%
BK6Z(9497)1
1
1
1
1
1
1'"()&%
qW6j(9927)1'"()&%
aNy7(9859)1
1
1
1
1
1
1
1DHKd5cVNAO
1
1
1
1
1
1
1
555
1'"()&%
Vr71(9156)1'"()&%
JvcV(9285)1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
555
555
555
555
555
555
555
555
555
5w7IDjAZ' OR 914=(SELECT 914 FROM PG_SLEEP(15))--
1'"()&%
JI2j(9630)1'"()&%
ErlR(9416)1
1
1
1
1