导航:首页 > 编程语言 > python登陆模块自动化

python登陆模块自动化

发布时间:2023-08-13 13:41:06

python接口自动化之token登录

前言

有些登录不是用cookie来验证的,是用token参数来判断是否登录。

token传参有两种一种是放在请求头里,本质上是跟cookie是一样的,只是换个单词而已;另外一种是在url请求参数里,这种更直观。

一、登录返回token

1.如下图的这个登录,无cookies

2.但是登录成功后有返回token

二、请求头带token

1.登录成功后继续操作其它页面,发现post请求的请求头,都会带token参数

2.这种请求其实比cookie更简单,直接把登录后的token放到头部就行

三、token关联

1.用脚本实现登录,获取token参数,获取后传参到请求头就可以了

2.如果登录有验证码,前面的脚本登录步骤就省略了,自己手动登录后获取token

import requests

header = { # 登录抓包获取的头部
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0",
"Accept": " / ",
"Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
"Accept-Encoding": "gzip, deflate",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"X-Requested-With": "XMLHttpRequest",
"Content-Length": "423",
"Connection": "keep-alive"
}

body = {"key1": "value1",
"key2": "value2"} # 这里账号密码就是抓包的数据

s = requests.session()
login_url = " http://xxx.login " #自己找带token网址
login_ret = s.post(login_url, headers=header, data=body)

token = login_ret.json()["token"]

post_url = " http://xxx "

header["token"] = token

header["Content-Length"]="9"
body1 = {
"key": "value"
}
post_ret = s.post(post_url, headers=header, data=body1)
print post_ret.content

⑵ python3实现自动化测试 [基于python语言实现自动化测试的研究]

[摘 要]自动化测试近年来的技术已经越来越成熟,在某些方面有着不可替代的作用,例如在性能测试,压力测试中,自动化测试可以模拟成千上万个用户对目标程序进行测试。本文通过对大型实际项目的分析研究,分析针对某一产品的自动化测试框架。然后讨论怎样用python实现自动化测试。
[关键词]测试技术手工测试自动化测试python脚本
[中图分类号]TP3[文献标识码]A[文章编号]1007-9416(2010)03-0088-01

地添加测试用例,为测试用例提供公用函数,执行测试用例,发送测试结果等功能。
1 自动化测试的重要概念
检查点(CheckPoint):将特定属性的当前数据与期望数据进行比较的地方,用于判定被测试程序的功能是否正确。
成本收益比:并不是所有的测试都适合自动化测试,衡量一个用例是否适合自动化测试一个很重要的参考是国际上流行的自动化测试成本收益比,即是p=k*n/c1+c2。各个参数的意义下:
K=手工执行自动化测试案例所花费的时间成本。
N=自动化测试案例执行的次数
C1=花费在自动化测试前期的(时间成本+人力成本+金钱成本)
C2=花费在自动化测试后期的(时间成本+人力成本+金钱成本)
二八定律:1897年意大利经济学家帕列托发现的二八定律在软件行业同样适用,而可以给我们很多启发,指导我们的软件开发和测试。80%的用户经常使用的是20%的软件功能。在软件测试中,80%的bug是集中在20%的软件模块中,对于自动化测试来说,找出这20%的测试用例是至关重要的。
2 自动化测试的执行步骤
每次脚本都是从一个统一的文件开始执行的,就是如上的Start.py。这样做的好处是可以把每个脚本都需要处理的工作放到一个文件中去执行,例如收集一些配置信息,读取命令行参数。以这样统一的处理风格为脚本的可读性提供了保证,也为简化了测试脚本的编写,不用每次都要处理一些基本的事务。
启动文件Start.py首先会读取命行参数,如pthon Start.py -s FileMenu.suite -t FileNew
通过python的内置函数sys.argv就可以读取命令行参数吵肢,非常方便。读取到命令行参数后,在Start.py内部可以判断命令行的格式是否符合我们的格式,如测试人员不小心把-s 写成了-z 这样就要退出测试执行。
如果输入的格式是正确的,Start.py 负责在特定的目录下寻找特定的Suite文件和Testcase。Suite文件和Testcase的格式会在下边的具体实例中作介绍。
找到特定的Testcase后就可以执行测试用例,根据检查点的通过或失败发送测试报告,该报告会以网页的形式显示,方便测试人员和开发人员的查找调试。
3 用python实现GUI测试
图形用户界面(GUI) 就是使用图象,输入的文字,带图标的计算机界面,取而代之了许多键盘的功能。GUI可以让用户通过图标和鼠标与计算机进行交互,而不是单调地在命令行中输入文本进行操作。设计良好的图形用户界面可以使用户从命令中解放出来。
GUI测试主要包括两个方面:一是纯GUI测试,主要关注应用程序上GUI组件是否符合规范或是用户的使用习惯,二是功能测试,主要是检验和验证系统是否实现了系统的业务需求,旨在验证系统的业务实现能力。但事实上两者不是完全独立的,一方面GUI的测试必定要触发功能,另一方面,功能测试也一定要通过GUI将搜碰洞事件传递给后台服务。
3.1 编写测试用例
ID 466540 :: Test CaseGeneral UI File Menu
Version 2
世枯PriorityP1
Summary:Verify File New window
Steps
SelectFile -> New
Expected Results
1. The VM creation window should open.
Keywords: i18n
Requirements : None
Created on 09/22/2008 20:58:23by wangw
Last modified on04/17/2009 00:20:53by marian
3.2 测试用例分析
以上是一个完整测试用例, 该测试用例包括:
测试ID 466540 , 有了测试ID就可以在测试人员提交bug后,QA或开发人员通过ID找到这个测试用例。还有一个更大的用处就是,在自动个脚本生成测试报告后,可以根据测试ID把该测试用例显示在测试报告中,以供测试人员和开发人员调试。
测试名称,根据测试名称应该可以很快了解测试用例的内容,所以好的测试名称也是非常重要的。
测试用例的版本(Version)。
测试优先级(Priority),测试优先级也是一个很重要的参数,因为大型项目都要有很多测试用例要执行。只有明确测试优先级才能确保重要的测试用例得以及时进行,保证软件质量。
测试用例概述(summary),帮助测试执行人员了解该测试用例的用测的功能。
测试步骤,描述测试人员或是自动化脚本每一步是怎样操作的,例如本例告诉测试人员选择菜单Fie,然后选择菜单项New。
预期结果(Expected Results),说明经过以上测试步骤,期望程序运行出现的结果。
4 结语
本文在明确软件测试理论的基础上,对自动化测试做了重点阐述,通过实际项目的自动化测试分析,有些测试用例特别适合用自动化测试。例如GUI测试中,用些是要验证界面元素是否显示正常。如果是脚本就可以准确无误地很快验证完毕,而用人工验证不仅容易出错而且费时间。由于时间和硬件条件有限,本论文规避了许多问题,所以仍有许多工作需要完成。例如:做好脚本的复用,使测试脚本不断积累。及研究怎样在测试工具和自己搭建框架中寻找平衡等。

[参考文献]
[1] 张克东.《软件工程与软件测试自动化教程》.北京:电子工业出版社,2002.
[2] 朱菊,王志坚,杨雪.《基于数据驱动的软件自动化测试框架》[J]计算机技术测试与发展,2006.
[3] 马瑞芳,王会燃.《计算机软件测试方法的研究》.小型微型计算机系统,2003.
[4] 朱鸿,金凌紫.《软件质量保障和测试》[M].北京:电子科学出版社,1997.
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

⑶ 登录linux服务器时设置了交互菜单选择你要登录的系统,如何使用python编程实现自动化选择要登录的系统

1.程序怎么判断你期望的系统是哪个?
2.python可以实现自动登陆
3.难点在于,第一点
4.你准备使用什么技术实现?
5.机器学习?人脸检测?动作跟踪?and so on ?
6.希望可以帮助,请采纳,谢谢!

⑷ 怎么用python做自动化测试

这里以web自动化测试为例,简单介绍一下如何使用python进行web自动化测试,主要用到selenium这个框架,实验环境win10+python3.6,主要内容如下:

1.首先,安装selenium框架,这个直接在cmd窗口输入命令“pipinstallselenium”就行,如下,安装非常快:

2.安装完成后,还需要安装浏览器驱动程序,不然直接运行程序会报错,以谷歌浏览器chrome为例,需要下载chromedriver驱动程序,如下,这里chromedriver的版本必须要与自己平台浏览器的版本匹配:

下载完成后,是一个zip压缩包,里面就一个chromedriver.exe文件,这里需要将这个文件复制到python安装目录下,如下:

3.最后,我们就可以进行selenium框架测试了,测试代码如下,非常简单,创建一个webdriver,如果能正常打开对应网页,则说明selenium安装成功:

之后就可以直接定位相关元携余素,进行web自动化测试了,主要方法如下(共有8种),辩洞滚分别是id、name、classname、tagname、linktext、partiallinktext、xpath和cssselector,这里可以自行测试,相关资料非常丰富:

至此,我们就完成了pythonweb自动化测试框架selenium的安装和简单使用。总的来说,整个过程非常简单,只要你有一定的python基础,熟悉一下上面的安装过程,很快就能搭建好本地selenium自动化测试框架,网上也颤芹有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

⑸ python+selenium自动化写登录脚本时,弹出的第三方登录页面该如何定位元素

importtime
defBai():
try:
browser=webdriver.Chrome()
browser.get(url)
wait=WebDriverWait(browser,10)
#定位网络登陆按钮
browser.find_element_by_xpath('//*[@id="u1"]/a[7]').click()
time.sleep(5)
#qq登陆
browser.find_element_by_xpath('//*[@id="pass_phoenix_btn"]/ul/li[1]/a').click()
#切换至qq登陆窗口
time.sleep(5)
browser.switch_to.window(browser.window_handles[1])
#切换至账户密码框
browser.switch_to.frame('ptlogin_iframe')
#账户登陆按钮
browser.find_element_by_xpath('//*[@id="switcher_plogin"]').click()

user=browser.find_element_by_id('u')
user.send_keys(账户)

password=browser.find_element_by_id('p')
password.send_keys(密码)
browser.find_element_by_id('login_button').click()
browser.switch_to.window(browser.window_handles[0])

finally:
browser.close()
Bai()

⑹ python+selenium怎么读取csv中的数据进行列表循环登录自动化参数登录

为了参数化csv文件中的数据,需要做到两点:
一是逐行读取:用到列表
二是根据列名获取对应单元格的值:用到字典

import csv

bid_info = csv.DictReader(open('bid_info.csv','r'))
dict_data = []
for lines in bid_info:
if bid_info.line_num == 1:
continue
else:
dict_data.append(lines)
row_num = len(dict_data)
# print('this is all the data---' + str(dict))

#循环读取每一行
i = 0
while(i < row_num):
print('this is'+str(i)+'row----'+ str(dict_data[i]))
print(dict_data[i]['a'])
i += 1

⑺ 想要用python3做个软件对网页自动化操作,需要搭建什么环境,如何实现

只用python就行了啊。vs和pycharm都算是编辑器没什么关系啊,就是用记事本编辑也行哦。那就用pycharm吧,大家都吹嘘它好用。
就是用python的urllib模块请求网页就可以了。
登录就是post数据,然后获得cookie(可能还有一下其他的东西),带着它就可以做一些评论。
评论就是根据按钮找到相关的网页链接,向它post/get数据。
评论采集就是请求相关的网页,获得评论的数据,可能是html或者json之类的,然后用beautifulsoup或者json分析,获得格式化后的数据。
以前用Python做过一个空间的自动点赞、自动回复说说留言、获取留言的程序。
只要就是分析链接和js脚本费点时间。其他地方都简单。

⑻ 怎样用python实现网页自动登录

可以在cmd下通过命令安装selenium模块:pip install selenium 或者 easy_install selenium。

分析网页控件id:

# -*- coding: utf-8 -*-

import os

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

iedriver = "C:Program FilesInternet ExplorerIEDriverServer.exe"

os.environ["webdriver.ie.driver"] = iedriver #调用IE浏览器

browser = webdriver.Ie(iedriver)

browser.get('http://weibo.com/') #需要打开的网址

user = browser.find_element_by_id("loginname") #审查元素username的id

user.send_keys("11111") #输入账号

password = browser.find_element_by_name("password") #审查元素password的name

password.send_keys("1234") #输入密码

password.send_keys(Keys.RETURN) #实现自动点击登陆

print('登陆成功')

阅读全文

与python登陆模块自动化相关的资料

热点内容
程序员如何换个城市生活 浏览:141
JS开发PDF 浏览:283
app格式不对怎么办 浏览:94
32位定时器单片机 浏览:332
安卓编译不能进行下一步签名 浏览:607
男生做保洁解压视频 浏览:748
qd88yg压缩机参数 浏览:383
pubg国际服服务器有什么区别 浏览:504
怎么打开文件夹自动删除 浏览:683
php中英文切换 浏览:445
php168数据 浏览:77
水压缩后有弹性 浏览:45
苏州阿里云服务器数据备份 浏览:522
消息提示音怎么设置安卓 浏览:279
怎么去掉安卓手机的小圆圈 浏览:474
女程序员每天教你一招 浏览:590
药剂学pdf下载 浏览:477
打开的共享文件夹少东西 浏览:643
芝麻黑头解压去除视频 浏览:186
光明与黑暗怎么进入服务器 浏览:659