【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,所以是个小菜鸟,今天开始,一点点 ...
随机推荐
- 线程同步工具之CountDownLatch
CountDownLatch,一个同步辅助类,在完成一组其他线程汇总执行的操作前,它允许一个或多个线程一直等待 主要方法: public CountDownLatch(int count); ...
- iOS 设置系统音量和监听系统音量变化
很简单的调用 首先在工程引入MediaPlayer.framework #import <MediaPlayer/MediaPlayer.h> 1. 获取系统音量 // 获取系统音量 MP ...
- P2P通信标准协议(三)之ICE
在P2P通信标准协议(二)中,介绍了TURN的基本交互流程,在上篇结束部分也有说到,TURN作为STUN 协议的一个拓展,保持了STUN的工具性质,而不作为完整的NAT传输解决方案,只提供穿透NAT的 ...
- Xcode 5 单元测试(一)使用XCTest进行单元测试
在Objc.io #1的Testing View Controllers中讲解的就是单元测试的相关内容.本文说下如何通过Xcode 5中集成的XCTest框架进行简单的单元测试. 什么是单元测试 首先 ...
- 获取textview行数
获取textview行数 textview 代码 import android.content.Context; import android.graphics.Canvas; import andr ...
- linux 多线程那点事
说明:对多线程与相互排斥锁不熟悉的请參考其他 #include <pthread.h> #include <stdio.h> #include <stdlib.h> ...
- map以及iterator迭代器
https://www.cnblogs.com/fnlingnzb-learner/p/5833051.html https://www.cnblogs.com/hdk1993/p/4419779.h ...
- leetcode题解:Construct Binary Tree from Preorder and Inorder Traversal (根据前序和中序遍历构造二叉树)
题目: Given preorder and inorder traversal of a tree, construct the binary tree. Note:You may assume t ...
- Visual Studio 外请版本号管理插件 - AnkhSVN
Visual Studio 外请版本号管理插件 - AnkhSVN 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致 ...
- node - post - 上传图片
html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...