前言 做自动化,最容易想到的第一实战项目就是登录,但是每次都要卡在验证码上。如果要做自动化测试,可以让开发将验证码禁掉,或者写个万能的验证码。不要费过多的精力在破解验证码上。本次介绍是:添加cookie值(add_cookie)绕过验证码进行登录。 一、用fiddler获取cookie值 1.之前介绍过用get_cookies()方法来获取cookies值(selenium3+python自动化12-cookie相关操作(获取和删除)),这次主要讲借助抓包工具fiddler获取cook...
使用fiddler进行抓包操作: 抓取接口对应的请求参数:请求方式,URL地址、返回结果 一、请求 1、URL URL地址:http://127.0.0.1:8080/docs/ 一个url就是一个接口 http://域名/请求路径,默认端口号:80 域名:会被DNS服务器解析为ip地址 域名:对ip地址进行转换,在请求的时候会将域名转换为ip地址发起请求 https://域名/请求路径:https://i-beta.cnblogs.com/posts/edit,默认端口:443 2、结构: 请求首行(请求行) 请求头(...
# config文件封装# 对配置文件进行封装 # 导入配置文件模块 from configparser import ConfigParser# 创建一个配置文件类 class HandleConfig:"""处理配置文件"""# 定义一个实例属性def __init__(self,filename):# 定义一个名称:filename实例属性self.filename = filename# 创建配置解释器config对象self.config = ConfigParser()# 指定读取的配置文件, 无需变量接收读取内容self.config.read(self.filename,encoding="utf8")# 定...
1.安装三方python包,pyautogui pip install pyautogui 2.导入包 3.输入代码 import pyautogui as guigui.hotkey('ctrl','alt','z') #模拟组合键 打开QQ快捷键for i in range(1,100):gui.typewrite(message='!',)gui.hotkey('ctrl','enter') #模拟组合键 发送消息
一、openpyxl介绍和安装: 安装方式:pip install openpyxl 1、为什么要学操作excel 存测试数据:有时候大批量的数据,存在txt里面显然不是最佳的方式,我们可以存在excel里面去,第一方便我们存储数据和做数据,一方面方便我们读取数据,比较明朗,测试的时候就从数据库中读取出来,这点是非常重要的! 存测试结果:可以批量把结果存到excel中,也比较好整理数据点,比txt更好 2、安装openpyxl puthon中与excel操作相关的模块 xlr...
一、前言 本次总结是对之前内容的扩充selenium3+python自动化6-基本操作总结(键盘、鼠标、select下拉框) ,包含单元框和复选框操作、table定位等内容。 二、单选框(radiobox)和复选框(checkbox)操作 1.认识单选框和复选框html代码如下:<html> <head> <title>单选和复选</title> </head> <body> </form> <h4>单选:性别</h4> <form> <label value="radio">男</label> <input name="sex" value="male" id="boy" type="...
1、python下载安装和环境变量配置. 打开python官网https://www.python.org/,找到“Download”, 在其下拉菜单中选择自己的平台及版本,鉴于Python2.x预计到2020年不在维护,我们选择Python3.x版本。 注意:在安装的过程中需要勾选:“Add Python 3.x to PATH” , 如果没有勾选,需要在安装完成之后,将Python的安装目录(如:C:\Python36)添加到环境变量PATH下面。 打开Windows命令提示符(cmd)终端输入“python”命令验...
插入图片 openpyxl.drawing.image/sheet.add_image() import os os.chdir('D:\\python_major\\auto_office9') from openpyxl import load_workbook from openpyxl.drawing.image import Image workbook = load_workbook(filename = '这是一个表格.xlsx') sheet = workbook.activephoto = Image('1.jpg') photo.height = 100 photo.width = 220sheet.add_image(photo,'C1') workbook.save(filename='这是一个表格.xlsx')–> 输出结果...
基于python的自动化代码审计代码审计?逢魔安全实验室? ?2018-02-11??10,539 ? 本文通过介绍在python开发中经常出现的常规web漏洞,然后通过静态和动态两种方式对python代码进行自动化审计挖掘漏洞,并且展示自动化系统在自动化审计python应用代码的成果,本文比较长,请耐心阅读,惊喜在后面。从python常规漏洞来看都有一个共同点,那就是危险函数中使用了可控参数,如system函数中使用到的(‘mv %s’% filename),如execute...
一、前言 之前学过元素的8中定位方式,都是find_element_by_定位方法,定位的元素返回都是一个值,定位的方法同样适用于find_elemnts,不同的是:这种定位方式返回的值是一个list列表,可以通过索引值的方式,输出具体的元素。书写方式find_elements_by_定位方法。 二、练习内容及目标 1.练习的内容 百度搜索框中输入要搜索的值,本例子中要搜索的值是“python”,点击搜索后,会跳出很多链接,随机点击其中一个链接,进入链接页面...
一、环境浏览器:Chrome 77.0.3865.75selenium版本:cmd 中执行pip show selenium命令 显示3.141.0 二、xpath总结1.xpath+id/name/class定位:driver.find_element_by_xpath(//标签名[@id="id值"])driver.find_element_by_xpath(//标签名[@name="name值"])driver.find_element_by_xpath(//标签名[@class="class值"])若想指定标签,则标签名直接写具体的标签名,若不想指定,则用*代替例:# driver.find_element_by_xpath(//*[@id="...
1. 获取cookies 实现代码如下:import time from selenium import webdriverclass cookies_login:wd=webdriver.Chrome()def getCookies(self):wd=self.wdwd.maximize_window()#登录成功跳转后的页面url = "http://47.108.47.47:81/admin"#登录页面wd.get("http://47.108.47.47:81/admin/login?company=9")while True:print("please login")time.sleep(3)while wd.current_url == url:cookies=wd.get_cookies()wd.quit()return c...
实现代码如下:#遍历设备编号 import os class devices:def get_devices(self):lists=(os.popen(adb devices).read())devices=(lists.strip().split(\n))devices_list=[]for i in range(1,len(devices)):device=(devices[i].split(\t)[0])devices_list.append(device)return devices_list
前言 python自动化的脚本开发完成后需提交到git代码仓库,接下来就是用Jenkins拉取代码去构建自动化代码了 git源码管理 代码上传git仓库这里就不介绍了,可以看之前写过的github相关这篇https://www.cnblogs.com/yoyoketang/p/7302515.html 自己公司内部的一般用gitlab,可以参考这篇https://www.cnblogs.com/yoyoketang/p/10282529.html 打开Jenkins新建一个自由风格的项目源码管理Repository URL 代码仓库地址 Credentials git仓库...
1.判断奇数偶数 num = input("请输入一个数字,判断是否为偶数:") print(not int(num) % 2) 2.浮点数的高精度计算用Decimal(from decimal import Decimal) 2.字符串的格式化输出name = "yanzi" age = 18.91957 hobby = "看书" # 字符串的格式化输出 print("""*********** name: %s age: %d hobby: %s """%(name,age,hobby))# 第二种字符串的格式化输出,format索引不能为负数,1.空{}2.索引3.关键字插旗子...