在自动化测试项目中,可能会碰到一些经常使用的但 很少变化的配置信息,下面就来介绍使用configparser来读取配置信息config.ini

读取的信息(config.ini)如下:

[config]

platformName=Android

appPackage=com.sheinside

appActivity=.module.GuideActivity

baseUrl=http://0.0.0.0:4723/wd/hub

findElementTimes=10

[cmd]

openAppium=node /Applications/Appium.app/Contents/Resources/node_modules/appium/bin/appium.js

stopAppium=pkill node

startServer=abd statr-server

closeServer=abb kill-server

checkPhone=adb get-state

viewPhone=adb devices

viewAndroid=adb shell grep ro.build.version.release /system/build.prop

openPhone=adb shell input keyevent 26

installSoftware=adb install

uninstallSoftware=adb uninstall com.sheinside

###############################################

读取配置文件的代码(readconfig.py):

1 importos2 importconfigparser3 importcodecs4 globalconfigfile_path5

6 prjDir = os.path.split(os.path.realpath(__file__))[0]7 configfile_path = os.path.join(prjDir, "config.ini")# 配置文件的路径8

9

10 classReadConfig:11 def __init__(self):12

13 fd =open(configfile_path)14 data =fd.read()15 #remove BOM

16 if data[:3] ==codecs.BOM_UTF8:17 data = data[3:]18 file = codecs.open(configfile_path, "w")19 file.write(data)20 file.close()21 fd.close()22

23 self.cf =configparser.ConfigParser()24 self.cf.read(configfile_path)25   # 读取config下的信息

26 defgetConfigValue(self, name):27 value = self.cf.get("config", name)28 returnvalue29   # 读取cmd下的信息

30 defgetcmdValue(self, name):31 value = self.cf.get("cmd", name)32 return value

调用执行:

if __name__ == ‘__main__‘:

rf = ReadConfig()

print rf.getConfigValue(‘platformName‘)

print rf.getcmdValue(‘openAppium‘)

结果为:

Android

node /Applications/Appium.app/Contents/Resources/node_modules/appium/bin/appium.js

[Finished in 0.2s]

原文:http://www.cnblogs.com/xiaoshitoutest/p/5592381.html

python ui自动化配置文件,Python+Selenium进行UI自动化测试项目中,常用的小技巧2:读取配置文件(configparser,.ini文件)...相关推荐

  1. Web UI自动化录制工具-Selenium IDE

    Web UI自动化录制工具-Selenium IDE 简介 安装 使用 实例 关于Run for pytest... 简介 Selenium IDE可以对网页行为进行录制.回放自动执行测试步骤,最新版 ...

  2. Pycharm常用的小技巧汇总,Python新手上路必备,快上车!

    Pycharm作为Python开发最常用的IDE之一,不仅兼容性好,而且功能也相当丰富,比如调试.语法高亮.智能提示等等功能,它还支持web开发框架比如Django等,当你熟悉了它之后,开发效率是相当 ...

  3. 不会解析配置文件?1秒钟应用到项目中

    记得...... 在2003年那个夜晚,我接触到了热血传奇这样一个游戏, 从此以后我就迷失了自我,每天沉浸在传奇的世界里. 你是否还记得新手村的稻草人? 你是否还记得猪洞的野猪? 你是否还记得你答应我 ...

  4. python做ui自动化_[python]RobotFramework自定义库实现UI自动化

    1.安装教程 环境搭建不多说,网上资料一大堆,可参考https://www.cnblogs.com/puresoul/p/3854963.html,写的比较详细,值得推荐.目前python3是不支持r ...

  5. UI自动化框架 基于selenium+pytest和PO分层思想

    最近在编写UI自动化框架,现在将一些碎片化东西进行梳理,便于记忆 同时,为了方便于各个模块的独立管理,以及秉承高复用,低耦合的思想,这里是根据PO模型编写,同时将所有的模块进行了独立,页面和元素,以及 ...

  6. python 网页自动化框架_python+selenium自动化框架

    项目以前的UI自动化大概是这样分层的 1.Common功能层:一些经常被调用的基本常用操作,用来完成某项具体的功能,与具体的业务无关.比如常用的封装: --将元素定位方法重新封装 --封装上下左右滑动 ...

  7. python json提取器_【编号0004】爬虫中常用到的数据提取手段

    使用爬虫抓取网上公开的网页数据时,经常需要使用各种技能去解析到手的响应. 本篇文章,重点介绍下,数据提取时,有哪些常见的方法 0. 背景交代 编程语言:Python 提取方式:Python库 1. X ...

  8. Python 基础中20 个小技巧

    1.字符串反转 下面的代码片段,使用 Python 中 slicing 操作,来实现字符串反转: # Reversing a string using slicingmy_string = " ...

  9. Python之深入解析Vulture如何一键找出项目中所有无效的代码

    一.前言 Vulture 可以在Python程序中查找未使用的代码,这对于清理和查找大型项目(代码库)中的错误非常有用. 不过由于 Python 的动态特性,像 Vulture 这样的静态代码分析器很 ...

最新文章

  1. 用Python实现二叉树,完全二叉树和满二叉树
  2. 五分钟了解数据库事务隔离
  3. java 内存模型 多线程_Java 高并发三:Java内存模型和线程安全详解
  4. 【ES】ES Attempted to send a bulk request to elasticsearch but Elasticsearch appears to be unreachabl
  5. 协程学习-python
  6. 如何优雅的统计代码耗时?
  7. 小蚂蚁学习C语言(27)——C语言中的进制转换
  8. java读取摄像头视屏流,Java 摄像头视频获取
  9. 中州韵输入法 linux 小鹤双拼,‎App Store 上的“iRime输入法-小鹤双拼五笔郑码输入法”...
  10. 除了加速上币,OKEx在DeFi热潮中还能做什么?
  11. Smbus host controller not enabled Assuming drive cache : write through
  12. 微信小程序按钮添加背景
  13. 1036:镂空三角形
  14. java程序计算鸡兔同笼_.请编写一个Java程序,能够计算鸡兔同笼问题,已知笼中共有9个头和26只脚,要求计算出该笼中有几只兔子几...
  15. MATLAB:执行程序时调用bin文件夹下的.m文件,却显示找不到该文件
  16. FineReport JS实现分页预览改变鼠标悬停所在的行列的背景色
  17. 室外无线覆盖解决方案
  18. PCQQ ECDH算法C++实现
  19. 压铸铝表面喷涂有气泡的解决方法
  20. XP定时自动开机/关机/启动

热门文章

  1. 【git学习二】git基础之git管理本地项目
  2. 【Cocosd2d实例教程三】Cocos2d瓦片地图的导入
  3. Linux shell的和||--转载
  4. 多台Linux服务器SSH相互访问无需密码--转
  5. 支付系统路由系统设计
  6. 【分类算法】Logistic算法原理、标准评分卡开发流程、python代码案例
  7. 【风控术语】数字金融反欺诈技术名词表
  8. 开源是互联网发展的核动力
  9. apollo在Linux下读不到参数,Apollo的基本使用及常见问题
  10. jvm性能调优 - 03垃圾回收机制