【Python web自动化】之读取配置文件参数,利用cookie返回值进行跳过验证码进行登录操作
当进行Python的Web自动化时,会涉及到验证码问题,该如何跳过执行呢,下面请看代码:
1、首先新建配置文件*.ini格式
config.ini
[db] #基础地址:
baseurl = http://192.168.xxx #参数:
m_user = 13077997162
m_pass = 123456
2、调用configparser模块进行读取文件操作,没有的自行下载
login.py
import configparser def mlogin():
'''
登录函数
:return:【cookie】:value
'''
cf = configparser.ConfigParser()
cf.read("./config.ini")
baseurl = cf.get("db", "baseurl")
#接口地址
url = baseurl + "/Admin/Account/loginupdate.html"
m_user = cf.get("db", "m_user")
m_pass = cf.get("db", "m_pass")
return cookie_value(url,m_user,m_pass)
读取的url,m_user,m_pass的值传参到获取cookie值的方法中,通过用户密码传到接口中再返回cookie值,如下
def cookie_value(url,username,password):
'''
返回cookie:value
:param url: 地址
:param username: 用户名
:param password: 密码
:return: cookie:value
'''
payload = {'username':username,'pwd':password}
r = requests.post(url=url,data=payload)
return r.cookies['PHPSESSID']
返回cookie字符串的值。
最后编写自动化脚本执行登录如下:
test.py
import login
import configparser driver = webdriver.Chrome()
driver.implicitly_wait(0.5)
cf = configparser.ConfigParser()
cf.read('./config.ini')
webbaseurl = cf.get('db','baseurl')
driver.get(webbaseurl + "/xxx/Public/index")
driver.maximize_window()
sleep(0.5)
#添加cookie
value = login.mlogin()
driver.add_cookie({'name': 'PHPSESSID', 'value': value})
sleep(0.5)
# 刷新页面
driver.refresh()
sleep(0.5)
参考文章:
感谢:
Mike_Zhang:《读取配置文件和自定义配置文件(python实现)》
【Python web自动化】之读取配置文件参数,利用cookie返回值进行跳过验证码进行登录操作的更多相关文章
- java web编程 servlet读取配置文件参数
新建一个servlet. 然后在web.xml文件里面自动帮助你创建好了<servlet-name><servlet-class><servlet-mapping> ...
- 【Selenium05篇】python+selenium实现Web自动化:读取ini配置文件,元素封装,代码封装,异常处理,兼容多浏览器执行
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第五篇博 ...
- Python configparser的使用 读取配置文件
configparser是Python自带用于读取配置文件的工具包,它的使用非常简单 配置文件 配置文件[]中为section命名,section的命名可以包含空格,每个section下面以键值对的方 ...
- Java Web Application使Session永不失效(利用cookie隐藏登录)
在做 Web Application 时,因为 Web Project 有 session 自动失效的问题,所以如何让用户登录一次系统就能长时间运行三个月,就是个问题. 后来,看到 session 失 ...
- FiddlerScript修改特定请求参数下的返回值
使用场景: api/Live/GetLiveList接口: (1)Type为1,接口返回直播列表 (2)Type为2,接口返回回放列表 现在想修改直播列表的返回值 思路: 利用FiddlerScrip ...
- python os.system重定向stdout到变量 ,同时获取返回值
Python执行系统命令的方法 os.system(),os.popen(),commands 最近在做那个测试框架的时候发现 Python 的另一个获得系统执行命令的返回值和输出的类. 最开始的时候 ...
- 工作随笔——Java调用Groovy类的方法、传递参数和获取返回值
接触Groovy也快一年了,一直在尝试怎么将Groovy引用到日常工作中来.最近在做一个功能的时候,花了点时间重新看了下Java怎么调用Groovy的方法.传递参数和获取返回值. 示例Groovy代码 ...
- 写一方法用来计算1+2+3+...n,其中n作为参数输入,返回值可以由方法名返回,也可以由参数返回
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- python学习笔记之读取配置文件【转自https://my.oschina.net/u/3041656/blog/793467】
[转自https://my.oschina.net/u/3041656/blog/793467] 最近在接触利用python来写测试框架,本人也是个刚接触python,所以是个小菜鸟,今天开始,一点点 ...
随机推荐
- [POI2014]Supercomputer
题目大意: 给定一个$n(n\le10^6)$个结点的有根树,从根结点开始染色.每次可以染和已染色结点相邻的任意$k$个结点.$q(q\le10^6)$组询问,每次给定$k$,问至少需要染几次? 思路 ...
- List集合-保存和输出宠物信息
package collection; /** * 宠物类 * @author * */ public class Pet { private String name; private String ...
- Android的数据存储方式概述
数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 ...
- 数据库学习--wildfly配置postgreSQL数据源
前言 实验室最近在做一个物品管理系统的小项目,其中涉及到postgreSQL的使用,刚开始部署到wildfly服务器上时遇到了若干问题,终于在导师的讲解下大体上明白了 ,特此记录分享学习一下. 配置数 ...
- opengl中VAO,VBO,IBO用法小结【转】
http://cowboy.1988.blog.163.com/blog/static/751057982014380251300/ opengl中VAO,VBO,IBO用法小结 这三个玩意全面取代旧 ...
- 为什么实现Serializbale接口就能够进行序列化?
从所周知,Serializbale接口是个空的接口,并没有定义任何方法.那么问题来了,为什么需要序列化的接口只要实现Serializbale接口就能够进行序列化? 这要从序列化过程的源码说起.举个例子 ...
- phpMyAdmin搭建及管理多台数据库服务器
phpMyAdmin搭建及管理多台数据库服务器 环境说明: 系统版本 CentOS 6.9 x86_64 软件版本 nginx-1.12.2 php-5.5. ...
- Activity和Service交互之bindService(回调更新UI)
一.回调接口 public interface OnProgressListener { void onProgress(int progress); } 二.Service代码 public cla ...
- 使用RTTI为继承体系编写”==”运算符
转载请注明出处:http://www.cnblogs.com/inevermore/p/4012079.html RTTI,指的是运行时类型识别技术. 先看一个貌似无关的问题: 为继承体系 ...
- iOS代码覆盖率测试工具
基于lcov-1.11的:CodeCoverage4iOS 阅读目录 环境准备 Xcode工程配置 构建并安装程序 收集代码覆盖率 过滤结果 合并多个Coverage.info⽂件⽣成覆盖率报告: ...